composewell / streamly

High performance, concurrent functional programming abstractions
https://streamly.composewell.com
Other
849 stars 63 forks source link

Performance regression for GHC 9.10 #2755

Open adithyaov opened 6 days ago

adithyaov commented 6 days ago

To replicate:

git clone git@github.com:composewell/streamly.git streamly-9.10-testing
cd streamly-9.10-testing
ghcup set ghc 9.4
cabal install bench-runner --project-file=cabal.project.report --installdir=./ --overwrite-policy=always
./bench-runner --package-name streamly-benchmarks --package-version 0.0.0
ghcup set ghc 9.10
./bench-runner --package-name streamly-benchmarks --package-version 0.0.0 --append
./bench-runner --package-name streamly-benchmarks --package-version 0.0.0 --no-measure --diff-cutoff-percent 10

results.txt

adithyaov commented 4 days ago

Trimmed version of the above shared link.

"Using targets [Data.Array Data.Array.Generic Data.Array.Stream Data.Fold Data.Fold.Window Data.MutArray Data.Parser Data.ParserK Data.Ring.Unboxed Data.Serialize Data.Stream Data.Stream.Concurrent Data.Stream.ConcurrentEager Data.Stream.ConcurrentInterleaved Data.Stream.ConcurrentOrdered Data.Stream.StreamDK Data.StreamK Data.Unbox Data.Unbox.Derive.TH Data.Unfold FileSystem.Handle Unicode.Char Unicode.Stream Unicode.Utf8]"
Generating reports for Data.Array...
Data.Array(cpuTime)
Benchmark                                                   default(0)(us) default(1) - default(0)(%)
----------------------------------------------------------- -------------- --------------------------

All.Data.Array/o-1-space.generation.write . intFromTo               194.54                    +106.83
All.Data.Array/o-1-space.transformation.scanl1'                     326.57                     +77.73
All.Data.Array/o-1-space.transformation.scanl'                      329.86                     +59.83
All.Data.Array/o-1-space.elimination.<                              346.59                     +28.44
All.Data.Array/o-1-space.transformationX4.map                      1070.99                     +23.90
All.Data.Array/o-1-space.elimination.toStreamRev                    256.04                     +18.72
All.Data.Array/o-1-space.transformationX4.scanl1'                   996.45                     +16.60
All.Data.Array/o-1-space.elimination.foldl'                         310.37                     +15.50
All.Data.Array/o-1-space.elimination.==                             240.55                     +14.44
All.Data.Array/o-1-space.elimination.min                            336.38                     +14.33
All.Data.Array/o-1-space.elimination.read                           292.66                     +14.24
All.Data.Array/o-1-space.elimination.length . IsList.toList         319.97                     +11.25
All.Data.Array/o-1-space.elimination./=                             244.03                     +10.63
All.Data.Array/o-1-space.generation.show                          26178.40                     +10.28

Data.Array(Allocated)
Benchmark                                            default(0)(KiB) default(1) - default(0)(%)
---------------------------------------------------- --------------- --------------------------

All.Data.Array/o-1-space.generation.writeN . unfoldr          468.93                     +24.99
All.Data.Array/o-1-space.elimination.id                       500.72                     +17.57

Generating reports for Data.Array.Generic...
Data.Array.Generic(cpuTime)
Benchmark                                                     default(0)(us) default(1) - default(0)(%)
------------------------------------------------------------- -------------- --------------------------

All.Data.Array.Generic/o-n-space.elimination.writeLastN.Max          1007.02                     +50.07
All.Data.Array.Generic/o-1-space.elimination./=                      1062.26                     +38.72
All.Data.Array.Generic/o-1-space.transformationX4.map               39292.50                     +30.79
All.Data.Array.Generic/o-1-space.generation.writeN . fromList        2745.75                     +28.03
All.Data.Array.Generic/o-1-space.elimination.<                        982.37                     +21.81
All.Data.Array.Generic/o-1-space.elimination.min                     1281.82                     +20.11
All.Data.Array.Generic/o-1-space.elimination.foldl'                  1683.85                     +10.52

Data.Array.Generic(Allocated)
Benchmark                                                 default(0)(Bytes) default(1) - default(0)(%)
--------------------------------------------------------- ----------------- --------------------------

All.Data.Array.Generic/o-n-space.elimination.writeN                    0.00                  +Infinity
All.Data.Array.Generic/o-1-space.elimination.toStreamRev               0.00                  +Infinity
All.Data.Array.Generic/o-1-space.elimination.read                      0.00                  +Infinity
All.Data.Array.Generic/o-1-space.elimination.foldl'                    0.00                  +Infinity
All.Data.Array.Generic/o-1-space.elimination.writeLastN.1         823457.00                     +74.96

Generating reports for Data.Array.Stream...
Data.Array.Stream(cpuTime)
Benchmark                                                            default(0)(ms) default(1) - default(0)(%)
-------------------------------------------------------------------- -------------- --------------------------

All.Data.Array.Stream/o-1-space.fold (single)                                  9.14                     +80.45
All.Data.Array.Stream/o-1-space.fold (of 100)                                 10.81                     +78.95
All.Data.Array.Stream/o-1-space.parseBreak (recursive, small arrays)           4.13                     +26.88
All.Data.Array.Stream/o-1-space.foldBreak (recursive, small arrays)           16.45                     +22.46
All.Data.Array.Stream/o-1-space.reduce/toChunks.Stream.last                   35.85                     +17.07

Generating reports for Data.Fold...
Data.Fold(cpuTime)
Benchmark                                                                    default(0)(us) default(1) - default(0)(%)
---------------------------------------------------------------------------- -------------- --------------------------

All.Data.Fold/o-n-heap.key-value.toIntMapIO (64 buckets) sum                        4071.67                    +110.16
All.Data.Fold/o-n-heap.key-value.toMapIO (max buckets) sum                         74809.40                     +97.00
All.Data.Fold/o-n-heap.key-value.toIntMap (64 buckets) sum                          7234.25                     +72.08
All.Data.Fold/o-n-heap.key-value.demuxToMap (64 buckets) [sum, length]              8517.62                     +72.05
All.Data.Fold/o-n-heap.key-value.toHashMapIO (single bucket) sum                    2570.91                     +69.60
All.Data.Fold/o-n-heap.key-value.demuxToHashMap (64 buckets) [sum, length]         10142.10                     +69.09
All.Data.Fold/o-n-heap.key-value.toMapIO (64 buckets) sum                           2961.12                     +64.11
All.Data.Fold/o-n-heap.key-value.toMapIO (single bucket) sum                        2197.30                     +60.58
All.Data.Fold/o-n-heap.key-value.demuxToHashMapIO (64 buckets) [sum, length]        4083.98                     +52.26
All.Data.Fold/o-n-heap.key-value.toHashMapIO (64 buckets) sum                       3630.81                     +44.47
All.Data.Fold/o-n-heap.elimination.nub                                             42784.90                     +38.79
All.Data.Fold/o-1-space.composition.unfoldMany                                      3005.45                     +37.96
All.Data.Fold/o-n-heap.key-value.demuxToMapIO (64 buckets) [sum, length]            4485.37                     +33.83
All.Data.Fold/o-n-heap.key-value.toMap (64 buckets) sum                            11921.20                     +27.48
All.Data.Fold/o-1-space.elimination.bottom                                           240.89                     +27.40
All.Data.Fold/o-1-space.composition.foldBreak (recursive)                           1129.45                     +22.50
All.Data.Fold/o-n-heap.key-value.demuxToIntMap (64 buckets) [sum, length]           8362.35                     +19.80
All.Data.Fold/o-n-space.sequence_/100                                              12415.90                     +14.79
All.Data.Fold/o-n-heap.elimination.toList                                           5559.64                     +12.54
All.Data.Fold/o-n-heap.elimination.toStreamRev                                      1305.06                     +11.61

Data.Fold(Allocated)
Benchmark                                                        default(0)(MiB) default(1) - default(0)(%)
---------------------------------------------------------------- --------------- --------------------------

All.Data.Fold/o-n-heap.key-value.toMapIO (64 buckets) sum                   9.56                     +81.40
All.Data.Fold/o-n-heap.key-value.toMapIO (single bucket) sum                9.56                     +81.24
All.Data.Fold/o-1-space.composition.foldBreak (recursive)                   1.59                     +75.35
All.Data.Fold/o-n-heap.key-value.toHashMapIO (single bucket) sum            9.51                     +66.33
All.Data.Fold/o-n-heap.key-value.toIntMapIO (64 buckets) sum                9.51                     +66.33
All.Data.Fold/o-n-heap.key-value.toHashMapIO (64 buckets) sum               9.51                     +66.32
All.Data.Fold/o-n-heap.key-value.toIntMap (64 buckets) sum                 33.21                     +24.46
All.Data.Fold/o-n-heap.key-value.toMap (64 buckets) sum                    35.82                     +17.95

Generating reports for Data.Fold.Window...
Data.Fold.Window(cpuTime)
Benchmark                                                         default(0)(us) default(1) - default(0)(%)
----------------------------------------------------------------- -------------- --------------------------

All.Data.Fold.Window/o-1-space.fold.sum (window size 1000)               1367.35                    +215.14
All.Data.Fold.Window/o-1-space.fold.sum (window size 100)                1274.71                    +177.02
All.Data.Fold.Window/o-1-space.scan.maximum (window size 30)             2344.55                     +75.69
All.Data.Fold.Window/o-1-space.fold.maximum (window size 100)             545.42                     +57.78
All.Data.Fold.Window/o-1-space.scan.maximum (window size 10)              959.44                     +56.60
All.Data.Fold.Window/o-1-space.fold.maximum (window size 1000)            570.58                     +45.14
All.Data.Fold.Window/o-1-space.fold.sum for Int (window size 100)        4635.60                     +43.04
All.Data.Fold.Window/o-1-space.fold.minimum (window size 100)             545.38                     +39.30
All.Data.Fold.Window/o-1-space.fold.range (window size 100)               549.19                     +37.24
All.Data.Fold.Window/o-1-space.fold.minimum (window size 1000)            564.23                     +27.46
All.Data.Fold.Window/o-1-space.fold.range (window size 1000)              614.96                     +21.86
All.Data.Fold.Window/o-1-space.scan.range (window size 10)               1093.00                     +20.99
All.Data.Fold.Window/o-1-space.scan.sum (window size 1000)                945.58                     +18.59
All.Data.Fold.Window/o-1-space.scan.range (window size 30)               3138.20                     +14.04
All.Data.Fold.Window/o-1-space.fold.powerSum 2 (window size 100)         4644.52                     +11.52

Data.Fold.Window(Allocated)
Benchmark                                                         default(0)(Bytes) default(1) - default(0)(%)
----------------------------------------------------------------- ----------------- --------------------------

All.Data.Fold.Window/o-1-space.scan.mean (window size 1000)                    0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.mean (window size 100)                     0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.range (window size 30)                     0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.range (window size 10)                     0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.maximum (window size 30)                   0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.minimum (window size 30)                   0.00                  +Infinity
All.Data.Fold.Window/o-1-space.scan.minimum (window size 10)                   0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.mean (window size 1000)                    0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.mean (window size 100)                     0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.sum (window size 1000)                     0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.sum (window size 100)                      0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.range (window size 1000)                   0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.range (window size 100)                    0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.maximum (window size 1000)                 0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.maximum (window size 100)                  0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.minimum (window size 1000)                 0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.minimum (window size 100)                  0.00                  +Infinity
All.Data.Fold.Window/o-1-space.fold.sum for Int (window size 100)       18164203.00                    +105.13
All.Data.Fold.Window/o-1-space.scan.sum (window size 100)                 838859.00                    +100.00
All.Data.Fold.Window/o-1-space.scan.maximum (window size 10)              838836.00                    +100.00
All.Data.Fold.Window/o-1-space.scan.sum (window size 1000)                843668.00                     +99.61
All.Data.Fold.Window/o-1-space.fold.sumInt (window size 100)            18169003.00                     +68.84
All.Data.Fold.Window/o-1-space.fold.powerSum 2 (window size 100)        18324022.00                     +33.04

Generating reports for Data.MutArray...
Data.MutArray(cpuTime)
Benchmark                                                   default(0)(us) default(1) - default(0)(%)
----------------------------------------------------------- -------------- --------------------------

All.Data.MutArray/o-1-space.modifyIndices (+ 1)                     121.82                   +5204.96
All.Data.MutArray/o-1-space.generation.writeN . intFromTo            81.29                    +270.28
All.Data.MutArray/o-1-space.transformation.scanl1'                  239.47                    +222.12
All.Data.MutArray/o-1-space.partitionBy (< value/2)                  63.77                    +201.08
All.Data.MutArray/o-1-space.elimination.toStreamRev                 139.29                    +194.59
All.Data.MutArray/o-1-space.elimination.read                        153.12                    +183.90
All.Data.MutArray/o-1-space.elimination.toStream                    146.14                    +144.81
All.Data.MutArray/o-1-space.transformation.scanl'                   258.77                    +135.33
All.Data.MutArray/o-1-space.elimination.readRev                     155.89                    +132.61
All.Data.MutArray/o-1-space.generation.writeN . unfoldr             105.14                    +121.90
All.Data.MutArray/o-1-space.generation.fromList . intFromTo        1108.21                     +90.87
All.Data.MutArray/o-1-space.generation.writeN . fromList            987.20                     +90.61
All.Data.MutArray/o-1-space.transformation.map                      231.70                     +84.57
All.Data.MutArray/o-1-space.elimination.foldl'                      168.13                     +53.37
All.Data.MutArray/o-1-space.transformationX4.scanl'                 848.41                     +43.31
All.Data.MutArray/o-1-space.elimination.id                          104.17                     +31.41
All.Data.MutArray/o-n-heap.elimination.writeN                       111.69                     +27.93
All.Data.MutArray/o-1-space.generation.write . intFromTo            263.61                     +24.23
All.Data.MutArray/o-1-space.transformationX4.scanl1'                720.00                     +24.22
All.Data.MutArray/o-1-space.transformationX4.map                    782.67                     +21.14

Data.MutArray(Allocated)
Benchmark                                       default(0)(Bytes) default(1) - default(0)(%)
----------------------------------------------- ----------------- --------------------------

All.Data.MutArray/o-1-space.modifyIndices (+ 1)              0.00                  +Infinity

Generating reports for Data.Parser...
Data.Parser(cpuTime)
Benchmark                                                                       default(0)(us) default(1) - default(0)(%)
------------------------------------------------------------------------------- -------------- --------------------------

All.Data.Parser/o-1-space.alt2parseMany                                                2992.93                    +128.55
All.Data.Parser/o-1-space.parseMany groupRollingByEither (Alternating)                  903.74                    +122.40
All.Data.Parser/o-1-space.sepBy1 (words)                                               1073.25                    +113.92
All.Data.Parser/o-1-space.deintercalate1                                               1304.14                     +96.98
All.Data.Parser/o-1-space.parseMany (groupBy (==))                                     2468.27                     +93.28
All.Data.Parser/o-1-space.manyTill                                                      969.18                     +83.75
All.Data.Parser/o-1-space.parseMany groupRollingByEither (Right)                        201.83                     +83.02
All.Data.Parser/o-1-space.alt8                                                          295.28                     +71.88
All.Data.Parser/o-1-space.parseMany/Unfold/1000 arrays/take 1                          1344.70                     +66.76
All.Data.Parser/o-1-space.monad8                                                        182.55                     +57.67
All.Data.Parser/o-1-space.deintercalateAll                                              188.41                     +55.28
All.Data.Parser/o-1-space.monad4                                                        143.32                     +45.98
All.Data.Parser/o-1-space.splitAp4                                                      173.34                     +42.55
All.Data.Parser/o-1-space.concatSequence                                               5343.62                     +41.91
All.Data.Parser/o-1-space.parseIterate (take all)                                      1982.67                     +34.01
All.Data.Parser/o-1-space.alt4                                                          284.95                     +29.61
All.Data.Parser/o-1-space.parseMany groupRollingByEither (Left)                         202.96                     +28.02
All.Data.Parser/o-n-heap.manyAlt                                                       5051.42                     +27.10
All.Data.Parser/o-n-space.sequence_/100                                                9852.40                     +26.30
All.Data.Parser/o-n-space.sequenceA/100                                                9473.96                     +23.46
All.Data.Parser/o-1-space.sepBy (words)                                                1248.25                     +21.78
All.Data.Parser/o-1-space.alt16                                                         570.90                     +21.77
All.Data.Parser/o-1-space.splitAp8                                                      255.30                     +21.36
All.Data.Parser/o-1-space.deintercalate                                                1445.89                     +15.97
All.Data.Parser/o-n-space.choice (asum)/100                                            9184.86                     +13.87
All.Data.Parser/o-n-space.sequence/100                                                 9117.96                     +13.29
All.Data.Parser/o-1-space/filesystem.S.parseMany (Fold.take 104857600 Fold.sum)      173494.00                     +11.23
All.Data.Parser/o-1-space.many (wordBy even)                                            185.61                     +11.18
All.Data.Parser/o-1-space/filesystem.S.parseMany (Fold.take 1 Fold.sum)              105314.00                     +10.64

Data.Parser(Allocated)
Benchmark                               default(0)(MiB) default(1) - default(0)(%)
--------------------------------------- --------------- --------------------------

All.Data.Parser/o-1-space.alt2parseMany            9.45                     +67.58

Generating reports for Data.ParserK...
Data.ParserK(cpuTime)
Benchmark                            default(0)(us) default(1) - default(0)(%)
------------------------------------ -------------- --------------------------

All.Data.ParserK/o-n-heap.choice            1321.39                    +127.17
All.Data.ParserK/o-n-heap.someAlt          22558.10                     +83.42
All.Data.ParserK/o-n-heap.sequenceA        17569.10                     +81.23
All.Data.ParserK/o-n-heap.sequence         17217.10                     +80.08
All.Data.ParserK/o-1-space.splitAp2         3299.62                     +65.85
All.Data.ParserK/o-1-space.takeWhile        3374.90                     +49.15
All.Data.ParserK/o-n-heap.sepBy1            9954.18                     +44.62
All.Data.ParserK/o-n-heap.manyAlt          17238.60                     +42.66
All.Data.ParserK/o-1-space.alt16            3290.25                     +36.92

Generating reports for Data.Ring.Unboxed...
Data.Ring.Unboxed(cpuTime)
Benchmark                                      default(0)(ms) default(1) - default(0)(%)
---------------------------------------------- -------------- --------------------------

All.Data.Ring.Unboxed/o-1-space.unsafeEqArrayN           1.08                    +104.81
All.Data.Ring.Unboxed/o-1-space.unsafeEqArray            6.79                     +22.86

Generating reports for Data.Serialize...
Data.Serialize(cpuTime)
Benchmark                   default(0)(us) default(1) - default(0)(%)
--------------------------- -------------- --------------------------

All.roundtrip.Sum2                  212.20                    +447.59
All.poke.Sum25                       31.52                    +171.98
All.encode.Sum2                     238.69                    +138.78
All.encode.Sum25                    145.82                    +110.10
All.poke.Unit                        35.96                    +107.26
All.roundtrip.Unit                  358.94                    +101.09
All.poke.Product25                  121.62                     +97.92
All.encode.Unit                     201.93                     +97.14
All.roundtrip.Product25             192.24                     +75.65
All.sizeOf.list-int                 149.47                     +74.95
All.encode.Product25                185.39                     +53.87
All.sizeOf.bintree-int              467.41                     +52.26
All.poke.bintree-int                780.41                     +47.83
All.roundtrip.Sum25                 268.97                     +38.48
All.roundtrip.RecCompatible       16402.90                     +35.60
All.peek.Sum25                      131.18                     +13.13

Generating reports for Data.Stream...
Data.Stream(cpuTime)
Benchmark                                                                default(0)(us) default(1) - default(0)(%)
------------------------------------------------------------------------ -------------- --------------------------

All.Data.Stream/o-1-space.generation.enumerateFromThen                            39.79                   +5360.55
All.Data.Stream/o-1-space.hoisting.withState                                     381.38                    +187.64
All.Data.Stream/o-1-space.grouping.groupsByRollingEq                             309.43                    +110.09
All.Data.Stream/o-1-space.generation.iterateM                                    695.80                     +70.72
All.Data.Stream/o-1-space.concat.concatMapPure (sqrt n of sqrt n)               1553.86                     +67.04
All.Data.Stream/o-1-space.exceptions/toChunks.Stream.bracket                   24617.20                     +65.12
All.Data.Stream/o-1-space.concat.concatMapM (sqrt n of sqrt n)                  1033.35                     +61.27
All.Data.Stream/o-1-space.Monad.(>>=) (sqrt n x sqrt n) (filterAllOut)          3273.42                     +60.53
All.Data.Stream/o-n-space.foldr.foldrM/build/IO (toList)                        3031.95                     +58.79
All.Data.Stream/o-1-space.mixedX4.filter-scan                                  61349.40                     +57.75
All.Data.Stream/o-1-space.concat.concatMap (1 of n)                             1576.97                     +53.41
All.Data.Stream/o-1-space.mixed.sum-product-fold                               13881.20                     +49.76
All.Data.Stream/o-1-space.exceptions/serial.retryAll                           12116.30                     +43.72
All.Data.Stream/o-1-space.elimination.build.Identity.foldrMToListLength         1497.09                     +40.98
All.Data.Stream/o-1-space.exceptions.Stream.onException (1/10)                182347.00                     +40.90
All.Data.Stream/o-1-space.exceptions.Stream.after . Stream.before (1/10)       11671.30                     +38.69
All.Data.Stream/o-1-space.generation.IsList.fromList                            1914.35                     +36.58
All.Data.Stream/o-1-space.mixed.sum-product-scan                               31906.10                     +35.20
All.Data.Stream/o-n-space.foldr.foldrM/reduce/Identity (sum)                    1047.06                     +32.75
All.Data.Stream/o-1-space.foldable.min (ord)                                     155.87                     +29.53
All.Data.Stream/o-1-space.elimination.uncons                                     936.54                     +28.16
All.Data.Stream/o-1-space.exceptions/readChunks.UF.bracket                     26566.40                     +27.16
All.Data.Stream/o-1-space.exceptions.Stream.after (1/10)                       12544.90                     +24.82
All.Data.Stream/o-1-space.mixedX4.take-drop                                      314.33                     +22.60
All.Data.Stream/o-1-space.mixedX4.drop-map                                       218.61                     +21.07
All.Data.Stream/o-1-space.concat.concatMap (n of 1)                             2755.65                     +18.80
All.Data.Stream/o-1-space.generation.fromList                                   1967.64                     +17.09
All.Data.Stream/o-1-space.exceptions/fromToBytes.Stream.bracket (1/10)        148708.00                     +15.96
All.Data.Stream/o-1-space.generation.integerFromStep                             858.77                     +15.38
All.Data.Stream/o-1-space.multi-stream.cmpBy                                     116.54                     +15.17
All.Data.Stream/o-n-heap.buffered.readsPrec Haskell lists                     142678.00                     +13.03
All.Data.Stream/o-1-space.exceptions/toChunks.Stream.bracket_                  24107.80                     +11.79
All.Data.Stream/o-1-space.Monad.(>>=) (sqrt n x sqrt n) (filterAllIn)           7242.11                     +10.39

Data.Stream(Allocated)
Benchmark                                                          default(0)(Bytes) default(1) - default(0)(%)
------------------------------------------------------------------ ----------------- --------------------------

All.Data.Stream/o-n-heap.buffered.reverse'                                      0.00                  +Infinity
All.Data.Stream/o-1-space.generation.enumerateFromThen                          0.00                  +Infinity
All.Data.Stream/o-1-space.grouping.groupsByRollingEq                      1469235.00                    +227.11
All.Data.Stream/o-1-space.exceptions/serial.retryAll                     35170160.00                    +101.84
All.Data.Stream/o-1-space.filtering.takeInterval-all                       522818.00                    +100.46
All.Data.Stream/o-1-space.concat.concatMapRepl (sqrt n of sqrt n)         4179506.00                     +30.03
All.Data.Stream/o-1-space.concat.concatMapM (sqrt n of sqrt n)            3346664.00                     +25.55
All.Data.Stream/o-1-space.exceptions/serial.retryNone                    26789566.00                     +24.86
All.Data.Stream/o-1-space.exceptions/serial.retryNoneSimple              29199347.00                     +23.11
All.Data.Stream/o-1-space.concat.unfoldManyRepl (sqrt n of sqrt n)        1265335.00                     +16.02
All.Data.Stream/o-1-space.hoisting.withState                              1468004.00                     +15.28
All.Data.Stream/o-1-space.concat.concatMapM (n of 1)                      8353916.00                     +10.25

Generating reports for Data.Stream.Concurrent...
Data.Stream.Concurrent(cpuTime)
Benchmark                                                                             default(0)(ms) default(1) - default(0)(%)
------------------------------------------------------------------------------------- -------------- --------------------------

All.Data.Stream.Concurrent/o-1-space.concat.parConcatMap (n of 1)                              48.61                     +77.45
All.Data.Stream.Concurrent/o-1-space.monad-outer-product.toNullAp                              45.16                     +67.17
All.Data.Stream.Concurrent/o-1-space.concat-foldable.S.concatFoldableWith (<>) (List)          35.31                     +27.12
All.Data.Stream.Concurrent/o-1-space.concat-foldable.foldMapWith (<>) (List)                   27.71                     +25.54
All.Data.Stream.Concurrent/o-1-space.concat-foldable.foldMapWith (<>) (Stream)                 25.88                     +22.81
All.Data.Stream.Concurrent/o-1-space.concat.parConcatMap (1 of n)                              21.37                     +18.50
All.Data.Stream.Concurrent/o-1-space.concat.parConcatMap (sqrt x of sqrt x)                    13.45                     +18.37
All.Data.Stream.Concurrent/o-1-space.joining.async (2 of n/2)                                  12.25                     +18.04
All.Data.Stream.Concurrent/o-n-heap.buffered.mkAsync                                           13.46                     +14.87

Data.Stream.Concurrent(Allocated)
Benchmark                                                                      default(0)(MiB) default(1) - default(0)(%)
------------------------------------------------------------------------------ --------------- --------------------------

All.Data.Stream.Concurrent/o-1-space.concat-rate-Nothing.parConcatMap (1 of n)           53.75                     +16.39

Generating reports for Data.Stream.ConcurrentEager...
Data.Stream.ConcurrentEager(cpuTime)
Benchmark                                                                            default(0)(ms) default(1) - default(0)(%)
------------------------------------------------------------------------------------ -------------- --------------------------

All.Data.Stream.ConcurrentEager/o-1-space.concat-maxThreads-1.parConcatMap (1 of n)           21.24                     +45.80
All.Data.Stream.ConcurrentEager/o-1-space.concat-rate-Nothing.parConcatMap (1 of n)           21.42                     +33.19
All.Data.Stream.ConcurrentEager/o-1-space.joining.concat async (2 of n/2)                     17.78                     +22.90
All.Data.Stream.ConcurrentEager/o-n-heap.monad-outer-product.toNullAp                        918.22                     +19.43
All.Data.Stream.ConcurrentEager/o-1-space.concat.parConcatMap (sqrt x of sqrt x)              17.31                     +15.60
All.Data.Stream.ConcurrentEager/o-1-space.concat-maxThreads-1.concat . fmap (n of 1)         161.88                     +13.82
All.Data.Stream.ConcurrentEager/o-1-space.concat-foldable.foldMapWith (<>) (List)            729.25                     +10.24

Data.Stream.ConcurrentEager(Allocated)
Benchmark                                                                        default(0)(MiB) default(1) - default(0)(%)
-------------------------------------------------------------------------------- --------------- --------------------------

All.Data.Stream.ConcurrentEager/o-1-space.concat.parConcatMap (sqrt x of sqrt x)           28.51                     +13.64

Generating reports for Data.Stream.ConcurrentInterleaved...
Data.Stream.ConcurrentInterleaved(cpuTime)
Benchmark                                                                                        default(0)(ms) default(1) - default(0)(%)
------------------------------------------------------------------------------------------------ -------------- --------------------------

All.Data.Stream.ConcurrentInterleaved/o-1-space.concat.concat . fmap (n of 1)                             78.43                     +53.23
All.Data.Stream.ConcurrentInterleaved/o-1-space.concat-foldable.S.concatFoldableWith (<>) (List)          39.32                     +50.48
All.Data.Stream.ConcurrentInterleaved/o-1-space.concat-foldable.foldMapWith (<>) (Stream)                 34.36                     +40.08
All.Data.Stream.ConcurrentInterleaved/o-1-space.concat-rate-Nothing.concat . fmap (n of 1)                98.44                     +11.44

Generating reports for Data.Stream.ConcurrentOrdered...
Data.Stream.ConcurrentOrdered(cpuTime)
Benchmark                                                                                       default(0)(ms) default(1) - default(0)(%)
----------------------------------------------------------------------------------------------- -------------- --------------------------

All.Data.Stream.ConcurrentOrdered/o-1-space.concat-maxThreads-1.parConcatMap (1 of n)                    28.90                     +22.07
All.Data.Stream.ConcurrentOrdered/o-1-space.concat-foldable.S.concatFoldableWith (<>) (List)             31.89                     +18.24
All.Data.Stream.ConcurrentOrdered/o-1-space.concat-rate-Nothing.parConcatMap (1 of n)                    34.82                     +15.45
All.Data.Stream.ConcurrentOrdered/o-1-space.concat-rate-Nothing.concat . fmap (n of 1)                   48.76                     +14.98
All.Data.Stream.ConcurrentOrdered/o-1-space.concat-rate-Nothing.parConcatMap (n of 1)                    44.72                     +14.63
All.Data.Stream.ConcurrentOrdered/o-1-space.concat-rate-Nothing.parConcatMap (sqrt x of sqrt x)          16.43                     +11.07

Generating reports for Data.Stream.StreamDK...
Data.Stream.StreamDK(cpuTime)
Benchmark                                                                         default(0)(us) default(1) - default(0)(%)
--------------------------------------------------------------------------------- -------------- --------------------------

All.Data.Stream.StreamDK/o-1-space.generation.enumerateFromThen                            68.43                   +3357.61
All.Data.Stream.StreamDK/o-1-space.grouping.groupsByRollingEq                             176.22                    +486.75
All.Data.Stream.StreamDK/o-1-space.mapping.foldrS                                        1318.86                    +195.33
All.Data.Stream.StreamDK/o-1-space.grouping.refoldIterateM                                305.46                    +109.67
All.Data.Stream.StreamDK/o-n-space.iterated.concatEffect prime sieve (n/4)             105271.00                    +109.33
All.Data.Stream.StreamDK/o-1-space.elimination.build.Identity.foldrMToListLength         1105.13                     +76.19
All.Data.Stream.StreamDK/o-1-space.generation.IsList.fromList                            1012.04                     +59.12
All.Data.Stream.StreamDK/o-1-space.generation.mfix_1000                                124974.00                     +57.20
All.Data.Stream.StreamDK/o-1-space.Applicative.(<*) (sqrt n x sqrt n)                    6862.60                     +56.75
All.Data.Stream.StreamDK/o-1-space.filtering.takeInterval-all                             275.39                     +56.12
All.Data.Stream.StreamDK/o-1-space.insertingX4.intersperse                               3322.87                     +49.79
All.Data.Stream.StreamDK/o-n-space.foldr.foldrM/build/IO (toList)                        2010.87                     +37.96
All.Data.Stream.StreamDK/o-1-space.generation.IsString.fromString                         786.39                     +33.02
All.Data.Stream.StreamDK/o-1-space.Monad.(>>=) (sqrt n x sqrt n) (filterAllIn)           7625.56                     +32.96
All.Data.Stream.StreamDK/o-1-space.mixedX4.drop-scan                                    64370.90                     +32.24
All.Data.Stream.StreamDK/o-1-space.exceptions.Stream.after . Stream.before (1/10)       10875.40                     +26.58
All.Data.Stream.StreamDK/o-1-space.multi-stream.cmpBy                                     107.00                     +25.58
All.Data.Stream.StreamDK/o-1-space.Applicative.liftA2 (sqrt n x sqrt n)                  7589.78                     +25.45
All.Data.Stream.StreamDK/o-1-space.exceptions/serial.retryAll                           13735.70                     +24.73
All.Data.Stream.StreamDK/o-n-stack.iterated.filterEven (n/10 x 10)                       1957.50                     +22.82
All.Data.Stream.StreamDK/o-1-space.hoisting.evalState                                     842.29                     +22.03
All.Data.Stream.StreamDK/o-1-space.Monad.(>>=) (sqrt n x sqrt n) (filterAllOut)          6310.58                     +17.26
All.Data.Stream.StreamDK/o-n-space.iterated.(<*>) (n times)                             27138.00                     +17.09
All.Data.Stream.StreamDK/o-1-space.elimination.build.Identity.foldrToStreamLength        1675.99                     +16.15
All.Data.Stream.StreamDK/o-1-space.Monad.(>>=) (sqrt n x sqrt n)                        10163.30                     +15.37
All.Data.Stream.StreamDK/o-1-space.mixedX4.filter-scan                                  63444.50                     +14.24
All.Data.Stream.StreamDK/o-1-space.mapping.scan                                           194.93                     +14.09
All.Data.Stream.StreamDK/o-1-space.filteringX4.take-all                                   157.69                     +13.61
All.Data.Stream.StreamDK/o-1-space.mixedX4.scan-map                                     65696.10                     +13.35
All.Data.Stream.StreamDK/o-1-space.exceptions/readChunks.UF.bracket_                    24512.10                     +12.83
All.Data.Stream.StreamDK/o-1-space.mixedX4.take-scan                                    63505.90                     +12.62
All.Data.Stream.StreamDK/o-1-space.generation.iterate                                     883.24                     +12.58
All.Data.Stream.StreamDK/o-1-space.hoisting.withState                                     422.60                     +11.90
All.Data.Stream.StreamDK/o-1-space.mixed.sum-product-scan                               24466.80                     +10.88
All.Data.Stream.StreamDK/o-1-space.grouping.foldMany                                      109.84                     +10.30

Data.Stream.StreamDK(Allocated)
Benchmark                                                                   default(0)(Bytes) default(1) - default(0)(%)
--------------------------------------------------------------------------- ----------------- --------------------------

All.Data.Stream.StreamDK/o-1-space.grouping.groupsByRollingEq                      1575191.00                    +191.95
All.Data.Stream.StreamDK/o-1-space.mapping.foldrS                                  5870722.00                    +155.30
All.Data.Stream.StreamDK/o-n-space.iterated.concatEffect prime sieve (n/4)       392328805.00                    +103.04
All.Data.Stream.StreamDK/o-1-space.filtering.takeInterval-all                       522733.00                    +100.47
All.Data.Stream.StreamDK/o-1-space.exceptions/serial.retryAll                     36008554.00                     +97.13
All.Data.Stream.StreamDK/o-n-space.foldr.foldrM/build/IO (toList)                  2981948.00                     +39.90
All.Data.Stream.StreamDK/o-n-heap.buffered.reverse'                                 446642.00                     +38.54
All.Data.Stream.StreamDK/o-1-space.generation.fromFoldable                         9213694.00                     +36.54
All.Data.Stream.StreamDK/o-1-space.generation.integerFromStep                      1266574.00                     +32.86
All.Data.Stream.StreamDK/o-1-space.joining.serial (2,x/2)                         16681700.00                     +24.08
All.Data.Stream.StreamDK/o-1-space.exceptions/serial.retryNoneSimple              29199824.00                     +23.15
All.Data.Stream.StreamDK/o-1-space.exceptions/serial.retryNone                    27627154.00                     +21.07

Generating reports for Data.StreamK...
Data.StreamK(cpuTime)
Benchmark                                                                 default(0)(us) default(1) - default(0)(%)
------------------------------------------------------------------------- -------------- --------------------------

All.Data.StreamK/o-1-space.generation.fromFoldable                                731.61                    +115.57
All.Data.StreamK/o-1-space.nested.drainApplicative (pure)                        3693.66                    +107.09
All.Data.StreamK/o-1-space.nested.drainMonad3                                    9643.58                    +101.13
All.Data.StreamK/o-1-space.generation.iterate                                    1362.36                     +94.41
All.Data.StreamK/o-1-space.nested.drainMonad                                     8495.08                     +87.15
All.Data.StreamK/o-1-space.generation.concatMapFoldableWith                      2900.28                     +86.05
All.Data.StreamK/o-1-space.mixedX4.filter-map                                   14819.10                     +75.68
All.Data.StreamK/o-1-space.generation.concatMapFoldableWithM                     4103.59                     +69.46
All.Data.StreamK/o-1-space.nested.drainApplicative                               5109.67                     +62.24
All.Data.StreamK/o-1-space.elimination.last                                      3680.87                     +52.35
All.Data.StreamK/o-1-space.generation.repeatM                                    3654.35                     +51.16
All.Data.StreamK/o-1-space.generation.repeat                                     1563.67                     +41.29
All.Data.StreamK/o-1-space.generation.unfoldrM                                   2683.71                     +39.56
All.Data.StreamK/o-1-space.nested.filterAllOutMonad                              7807.97                     +36.28
All.Data.StreamK/o-1-space.nested.drainMonad (pure)                              7088.26                     +33.63
All.Data.StreamK/o-1-space.mixedX2.scan-map                                      9528.52                     +25.37
All.Data.StreamK/o-1-space.concat.sortBy                                        38626.00                     +23.85
All.Data.StreamK/o-1-space.mixed.take-scan                                       5270.38                     +20.48
All.Data.StreamK/o-n-stack.iterated.mapM                                         3545.53                     +17.09
All.Data.StreamK/o-1-space.mixedX4.filter-take                                   9910.82                     +16.86
All.Data.StreamK/o-1-space.elimination.init                                      3993.22                     +16.41
All.Data.StreamK/o-1-space.mixedX4.scan-map                                     15641.00                     +15.87
All.Data.StreamK/o-1-space.generation.iterateM                                   4392.14                     +14.48
All.Data.StreamK/o-1-space.nested.filterAllInMonad (pure)                        6706.24                     +11.54
All.Data.StreamK/o-1-space.concat.concatMapWithId (n of 1) (fromFoldable)        5400.86                     +11.48
All.Data.StreamK/o-1-space.generation.replicateM                                 2811.83                     +10.41
All.Data.StreamK/o-1-space.filtering.takeWhile-true                              4359.86                     +10.30

Data.StreamK(Allocated)
Benchmark                                             default(0)(KiB) default(1) - default(0)(%)
----------------------------------------------------- --------------- --------------------------

All.Data.StreamK/o-1-space.generation.fromFoldable            1632.00                    +251.32

Generating reports for Data.Unfold...
Data.Unfold(cpuTime)
Benchmark                                                      default(0)(us) default(1) - default(0)(%)
-------------------------------------------------------------- -------------- --------------------------

All.Data.Unfold/o-1-space.exceptions.UF.onException (1/10)          132848.00                    +184.36
All.Data.Unfold/o-1-space.exceptions.UF.finally_ (1/10)             130416.00                    +174.18
All.Data.Unfold/o-1-space.exceptions.UF.bracket_ (1/10)             146869.00                    +140.94
All.Data.Unfold/o-1-space.exceptions.UF.bracket (1/10)              152186.00                    +139.21
All.Data.Unfold/o-1-space.exceptions.UF.finally (1/10)              155151.00                    +137.53
All.Data.Unfold/o-1-space.generation.enumerateFromThenIntegral          48.70                     +77.09
All.Data.Unfold/o-1-space.nested.many                                   45.08                     +76.80
All.Data.Unfold/o-1-space.filtering.take                                44.67                     +65.00
All.Data.Unfold/o-1-space.zip.zipWith                                   41.93                     +58.85
All.Data.Unfold/o-1-space.transformation/input.discardFirst             39.68                     +52.46
All.Data.Unfold/o-1-space.generation.fromStream                        736.20                     +42.74
All.Data.Unfold/o-1-space.transformation/input.second                   44.32                     +35.61
All.Data.Unfold/o-1-space.transformation/input.discardSecond            44.84                     +33.15
All.Data.Unfold/o-1-space.generation.fromStreamD                       950.33                     +12.89
All.Data.Unfold/o-1-space.nested.(>>=) (sqrt n x sqrt n)              8432.66                     +10.13

Data.Unfold(Allocated)
Benchmark                                                               default(0)(KiB) default(1) - default(0)(%)
----------------------------------------------------------------------- --------------- --------------------------

All.Data.Unfold/o-1-space.exceptions.UF.onException (1/10)                   1167395.55                    +154.26
All.Data.Unfold/o-1-space.exceptions.UF.finally_ (1/10)                      1167401.47                    +154.26
All.Data.Unfold/o-1-space.exceptions.UF.bracket_ (1/10)                      1167401.46                    +154.26
All.Data.Unfold/o-1-space.exceptions.UF.finally (1/10)                       1331199.68                    +135.41
All.Data.Unfold/o-1-space.exceptions.UF.bracket (1/10)                       1331200.11                    +135.41
All.Data.Unfold/o-1-space.generation.fromStreamD                                1632.01                    +126.11
All.Data.Unfold/o-1-space.generation.fromStream                                 1632.01                     +75.44
All.Data.Unfold/o-1-space.nested.(>>=) (cubert n x cubert n x cubert n)          408.01                     +75.43
All.Data.Unfold/o-1-space.exceptions.UF.handle (1/10)                        3214284.02                     +22.97
All.Data.Unfold/o-1-space.generation.fromStreamK                                8200.80                     +19.96

Generating reports for FileSystem.Handle...
FileSystem.Handle(cpuTime)
Benchmark                                                                                    default(0)(ms) default(1) - default(0)(%)
-------------------------------------------------------------------------------------------- -------------- --------------------------

All.FileSystem.Handle/o-1-space.reduce/read/chunks.S.chunksOf 10                                     127.12                     +31.81
All.FileSystem.Handle/o-1-space.reduce/read/chunks.S.foldManyPost (FL.take 104857600 FL.sum)         175.49                     +26.26
All.FileSystem.Handle/o-1-space.copy/putBytes.rawToNull                                              114.61                     +24.76
All.FileSystem.Handle/o-1-space.reduce/read.SS.decodeLatin1                                           56.96                     +16.06

Generating reports for Unicode.Char...
Unicode.Char(cpuTime)
Benchmark                                  default(0)(ms) default(1) - default(0)(%)
------------------------------------------ -------------- --------------------------

All.Unicode.Char/o-1-space.NFKC/Devanagari         311.86                    +199.13
All.Unicode.Char/o-1-space.NFKC/Deutsch            309.12                    +180.66
All.Unicode.Char/o-1-space.NFC/English             315.98                    +163.08
All.Unicode.Char/o-1-space.NFKC/English            303.57                    +162.15
All.Unicode.Char/o-1-space.NFC/Deutsch             321.36                    +157.91
All.Unicode.Char/o-1-space.NFKC/AllChars           360.66                    +152.19
All.Unicode.Char/o-1-space.NFKC/Korean             296.70                    +138.77
All.Unicode.Char/o-1-space.NFKC/Japanese           338.45                    +131.65
All.Unicode.Char/o-1-space.NFKC/Vietnamese         316.94                    +126.66
All.Unicode.Char/o-1-space.NFC/Devanagari          322.46                     +92.69
All.Unicode.Char/o-1-space.NFC/Korean              305.97                     +53.12
All.Unicode.Char/o-1-space.NFC/AllChars            342.28                     +47.85
All.Unicode.Char/o-1-space.NFC/Japanese            340.70                     +39.10
All.Unicode.Char/o-1-space.NFKD/English            127.25                     +31.79
All.Unicode.Char/o-1-space.NFC/Vietnamese          301.89                     +23.40
All.Unicode.Char/o-1-space.NFD/AllChars            130.50                     +21.58
All.Unicode.Char/o-1-space.NFKD/Korean             158.29                     +19.83

Generating reports for Unicode.Stream...
Unicode.Stream(cpuTime)
Benchmark                                                                                            default(0)(ms) default(1) - default(0)(%)
---------------------------------------------------------------------------------------------------- -------------- --------------------------

All.Unicode.Stream/o-1-space.ungroup-group.UnicodeArr.unlines . UnicodeArr.lines (Array Char) (1/10)         187.76                    +125.56
All.Unicode.Stream/o-1-space.ungroup-group.unwords . wordsBy ([Char]) (1/10)                                 114.78                     +89.37
All.Unicode.Stream/o-1-space.ungroup-group.interposeSuffix . wordsBy ([Word8]) (1/10)                        138.63                     +78.75
All.Unicode.Stream/o-1-space.ungroup-group.unlines . splitOnSuffix ([Word8]) (1/10)                          110.03                     +70.35
All.Unicode.Stream/o-1-space.ungroup-group.interposeSuffix . splitOnSuffix (Array Word8) (1/10)              222.46                     +53.95
All.Unicode.Stream/o-1-space.decode-encode.encodeLatin1' . decodeLatin1                                      220.22                     +45.64
All.Unicode.Stream/o-1-space.decode-encode.encodeLatin1 . decodeLatin1                                       209.72                     +27.31
All.Unicode.Stream/o-1-space.decode-encode.encodeUtf8 . parseMany parseCharUtf8 (1/10)                       224.71                     +25.49
All.Unicode.Stream/o-1-space.decode-encode.encodeUtf16 . decodeUtf16 (1/10)                                  100.16                     +18.71
All.Unicode.Stream/o-1-space.decode-encode/toChunks.encodeUtf8' . decodeUtf8Arrays (1/10)                    141.14                     +17.38
adithyaov commented 4 days ago

The regression test was across 9.8 and 9.10 IIRC.