Bytestring benchmarks regressions - 9.6 branch
These benchmarks seem to regress 9.4.4 vs 9.6.1 (tip of branch). Numbers are relative to 9.4.4 baseline.
Name,Mean (ps)
All.Data.ByteString.Builder.Small payload.UTF-8 String (naive),1.1746058394160583
All.Data.ByteString.Builder.Encoding wrappers.primUnfoldrFixed word8 (10000),4.804539797510565
All.Data.ByteString.Builder.Encoding wrappers.primMapByteStringFixed word8 (10000),1.1426351318420627
All.Data.ByteString.Builder.Encoding wrappers.primMapLazyByteStringFixed word8 (10000),1.1828255643539718
All.Data.ByteString.Builder.Non-bounded encodings.foldMap doubleDec (10000),1.2835139582383694
All.Data.ByteString.Builder.Prim.int8 (10000),1.482228600066674
All.Data.ByteString.Builder.Prim.word8 (10000),1.5091979819508112
All.Data.ByteString.Builder.Prim.int64Host (10000),1.3217560800360544
All.Data.ByteString.Builder.Prim.word32Host (10000),1.1037571694783537
All.Data.ByteString.Builder.Prim.ASCII.wordHex (10000),1.1366577515922904
All.Data.ByteString.Builder.Prim.ASCII.int8HexFixed (10000),1.1751400646081689
All.Data.ByteString.Builder.Prim.ASCII.int16HexFixed (10000),2.915178919087905
All.Data.ByteString.Builder.Prim.ASCII.int32HexFixed (10000),3.195615877474486
All.Data.ByteString.Builder.Prim.ASCII.word8HexFixed (10000),1.1675298533281613
All.Data.ByteString.Builder.Prim.ASCII.word16HexFixed (10000),3.0125117635205987
All.Data.ByteString.Builder.Prim.ASCII.word32HexFixed (10000),3.105226324385085
All.Data.ByteString.Builder.Prim.ASCII.word64HexFixed (10000),1.2128221290074235
All.Data.ByteString.Builder.Prim.ASCII.floatHexFixed (10000),1.8185854120016631
All.Data.ByteString.Builder.Prim.ASCII.doubleHexFixed (10000),1.6189661736941012
All.partition.lazy.mostlyFalseSlow,1.10745460678204
All.inits.lazy (small chunks),1.1626668806624283
All.words.one huge word,1.3165876474948286
All.folds.strict.unfoldrN.512,1.1273515876732925
All.folds.strict.unfoldrN.32768,1.1060270534434464
All.folds.strict.mapAccumL.16,1.1576260125148758
All.folds.strict.mapAccumL.32,1.1785598003038853
All.folds.strict.mapAccumL.128,1.1634953680554925
All.folds.strict.mapAccumL.512,1.1374264731825583
All.folds.strict.mapAccumL.4096,1.1320534898600363
All.folds.strict.mapAccumL.16384,1.270216520293332
All.folds.strict.mapAccumL.32768,1.1341710356036647
All.folds.strict.mapAccumL.65536,1.13173221649132
All.folds.strict.mapAccumR.32,1.1007251800046454
All.folds.strict.mapAccumR.256,1.149724693932815
All.folds.strict.mapAccumR.1024,1.1685639122971665
All.folds.strict.mapAccumR.8192,1.2230555606480231
All.folds.strict.mapAccumR.16384,1.187302362074402
All.folds.strict.mapAccumR.65536,1.1960898912859905
All.folds.strict.scanl.64,1.1113946611576944
All.folds.strict.scanl.128,1.1811345267392037
All.folds.strict.scanl.256,1.3561451045415942
All.folds.strict.scanl.512,1.3331611376579444
All.folds.strict.scanl.1024,1.2249188440261383
All.folds.strict.scanl.2048,1.576620359186757
All.folds.strict.scanl.4096,1.3944436728701242
All.folds.strict.scanl.8192,1.2382565835291581
All.folds.strict.scanl.16384,1.4535941147533535
All.folds.strict.scanl.32768,1.4468097172760863
All.folds.strict.scanl.65536,1.471089352152887
All.folds.strict.scanr.16,1.1012385568120624
All.folds.strict.scanr.32,1.120358514724712
All.folds.strict.scanr.64,1.1280657748049052
All.folds.strict.scanr.128,1.142746209786762
All.folds.strict.scanr.256,1.1284529814136668
All.folds.strict.scanr.512,1.2428953055472867
All.folds.strict.scanr.1024,1.1649971800709824
All.folds.strict.scanr.2048,1.2610588643407112
All.folds.strict.scanr.4096,1.1369097196221323
All.folds.strict.scanr.8192,1.2102487906701007
All.folds.strict.scanr.16384,1.2095290620702335
All.folds.strict.scanr.32768,1.2257604709472802
All.folds.strict.scanr.65536,1.214842861646515
All.folds.lazy.foldl'.16,1.127652547271076
All.folds.lazy.foldr'.512,1.1171787817688057
All.folds.lazy.foldr'.65536,1.1921666949837362
All.folds.lazy.foldr1'.1,1.2633584239382958
All.folds.lazy.foldr1'.2,1.2783202458176852
All.folds.lazy.foldr1'.4,1.2006119634545769
All.folds.lazy.foldr1'.8,1.2804470676880573
All.folds.lazy.foldr1'.16,1.3315414167657058
All.folds.lazy.foldr1'.16384,1.1087716307884237
All.folds.lazy.mapAccumL.32,1.2073333766492025
All.findIndex_.findIndices,1.352589784258648
All.traversals.map (+1) large,1.2441474931820036
All.unlines.strict,2.186674058702809
All.BoundsCheckFusion.Data.ByteString.Builder.foldMap (right-assoc) (10000),1.164808969739866
"All.Count.no matches, same char.1030 chars long",1.9658855382317244
All.Count.all matches.1030 chars long,2.062623721162563
All.Count.all matches.100000 chars long,1.1214229062894256
All.CSV.renderTable maxiTable,1.517539899500803
All.CSV.utf8 + renderTable maxiTable,1.3774311714534733
All.CSV.utf8 + renderTableBE maxiTable,1.169527612414051
All.Indices.ByteString strict second index.FindIndex,1.1326747041750391
All.Indices.ByteString strict second index.ElemIndex,1.1331974176010873
All.Read Integral.Strict.ReadWord8,1.133537935366252
All.Read Integral.Strict.ReadWord16,1.1188382286906584
All.ShortByteString.folds.strict.unfoldrN.1,1.1519663993890799
All.ShortByteString.folds.strict.unfoldrN.16,1.1854990583804144
All.ShortByteString.folds.strict.unfoldrN.128,1.1139855912136631
All.ShortByteString.findIndexOrLength.break,1.2079488512544752
All.ShortByteString.findIndex_.findIndices,1.154580105724114
All.ShortByteString.findIndex_.find,1.2365741386525317
All.ShortByteString.traversals.map (+1) large,1.1150768570252518
All.ShortByteString.traversals.map (+1) small,1.6339648047832882
All.ShortByteString.ShortByteString strict second index.FindIndex,1.1182665527097455
All.ShortByteString.ShortByteString strict second index.ElemIndex,1.2153537286251608
All.ShortByteString.ShortByteString index equality inlining.FindIndices/non-inlined,1.177882263291725
All.ShortByteString.ShortByteString index equality inlining.FindIndex/inlined,1.2185659517724192
All.ShortByteString.ShortByteString conversions.unpack.1,1.127669539153241
All.ShortByteString.ShortByteString conversions.unpack.2,1.3722301136363637
All.ShortByteString.ShortByteString conversions.unpack.32,1.2005556923293357
All.ShortByteString.ShortByteString conversions.unpack.4096,1.1033400128491448
All.ShortByteString.ShortByteString conversions.unpack.32768,1.1108805402466508
All.ShortByteString.ShortByteString conversions.unpack and get last element,1.1471935765821915