Skip to content

Performance regressions from ghc-9.12 to ghc-9.14 #3200

@harendra-kumar

Description

@harendra-kumar

Allocations change from ghc-9.12.4 to 9.14.1

Benchmark                                                                                            default(0)(Bytes)   default(1) - default(0)(%)
---------------------------------------------------------------------------------------------------  --------------   --------------------------
All.Data.Unfold/o-1-space.transformation/input.swap                                                           84.00                   +3809553.57
All.Data.Unfold/o-1-space.transformation/input.first                                                          84.00                   +3809547.62
All.Data.Unfold/o-1-space.generation.enumerateFromIntegral                                                   88.00                   +3636380.68
All.Data.Unfold/o-1-space.transformation/input.second                                                         89.00                   +3595606.74
All.Data.Unfold/o-1-space.generation.enumerateFromThenIntegral                                               186.00                   +1720385.48
All.Data.StreamK/o-1-space.list.Monad.drain3                                                                4445.00                   +248136.22
All.Data.StreamK/o-1-space.list.Applicative.drain2                                                         22982.00                    +45552.23
All.Data.StreamK/o-1-space.list.Monad.drain2                                                               23885.00                    +43826.36
All.Data.StreamK/o-1-space.list.Monad.filterAllIn2                                                         22982.00                    +31571.32
All.Data.Stream/o-1-space.elimination.reduce.Identity.foldl'                                                  40.00                     +7827.50
All.Data.Stream/o-1-space.elimination.reduce.Identity.foldl1'                                                 56.00                     +2783.93
All.Data.Stream/o-1-space.mappingX4.scanl1'                                                                  156.00                     +1274.36
All.Data.Stream/o-1-space.mapping.postscan                                                                   121.00                      +817.36
All.Data.Stream/o-1-space.pipesX4.tee                                                                        124.00                      +787.10
All.Data.Stream/o-1-space.elimination.findM                                                                  153.00                      +655.56
All.Data.Stream/o-1-space.indexingx4.indexed                                                                  84.00                      +607.14
All.Data.Stream/o-1-space.elimination.mapM_                                                                    89.00                      +567.42
All.Data.Stream/o-1-space.elimination.length                                                                 104.00                      +495.19
All.Data.Stream/o-1-space.elimination.or                                                                     211.00                      +478.67
All.Data.Fold/o-1-space.elimination.all                                                                      213.00                      +379.34
All.Data.Fold/o-1-space.elimination.last                                                                     120.00                      +360.83
All.Data.Array/o-1-space.generation.write . intFromTo                                                    2096483.00                      +343.45
All.Data.MutArray/o-1-space.generation.write . intFromTo                                                 2096520.00                      +343.44
All.Data.Fold/o-1-space.transformation.pipe-mapM                                                             122.00                      +313.11
All.Data.Stream/o-1-space.mappingX4.trace                                                                     84.00                      +301.19
All.Data.Parser/o-1-space.groupByRolling                                                                     201.00                      +283.58
All.Data.Fold/o-1-space.transformation.rsequence                                                              89.00                      +215.73
All.Data.Fold/o-1-space.elimination.any                                                                      193.00                      +208.29
All.peek.RecCompatible                                                                                      1349.00                      +202.74
All.Data.Array/o-n-space.elimination.createOfLast.Max                                                    4800621.00                      +199.99

CPU Time changes.

Benchmark                                                                 default(0)(us)  default(1) - default(0)(%)
------------------------------------------------------------------------  --------------  --------------------------
All.Data.Unfold/o-1-space.transformation/input.second                              32.18                    +2182.14
All.Data.Unfold/o-1-space.generation.enumerateFromThenIntegral                     32.66                    +2143.01
All.Data.Unfold/o-1-space.transformation/input.first                               32.26                    +2070.58
All.Data.Unfold/o-1-space.generation.enumerateFromIntegral                         32.05                    +1975.32
All.Data.Unfold/o-1-space.transformation/input.swap                                32.49                    +1893.48
All.Data.StreamK/o-1-space.list.Monad.drain2                                      419.87                     +267.73
All.Data.StreamK/o-1-space.list.Applicative.drain2                                430.44                     +261.70
All.Data.StreamK/o-1-space.list.Monad.drain3                                      437.67                     +250.60
All.Data.MutArray/o-1-space.generation.write . intFromTo                          363.57                     +149.08
All.Data.Array/o-1-space.generation.write . intFromTo                             355.00                     +141.31
All.Data.Fold/o-1-space.elimination.index                                          65.96                     +140.85
All.Data.Stream/o-1-space.multi-stream.eqBy                                        80.96                     +135.26
All.Data.Stream/o-1-space.filteringX4.takeWhile-true                               40.62                     +134.72
All.Data.Stream/o-1-space.elimination.(!!)                                         97.19                     +131.94
All.Data.Array/o-1-space.generation.writeN . unfoldr                               85.20                     +131.83
All.Data.StreamK/o-1-space.list.Monad.filterAllIn2                                424.93                     +131.74

CPU Time changes.

Benchmark                                                                                            default(0)(us)   default(1) - default(0)(%)
---------------------------------------------------------------------------------------------------  --------------   --------------------------
All.Data.Array/o-n-space.elimination.createOfLast.Max                                                       698.00                      +230.03
All.Data.Array/o-1-space.generation.write . intFromTo                                                       355.00                      +141.31
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq single a                                              119385.00                       +70.05
All.Data.Stream/o-1-space.FileSplitElem.splitOn infix lf                                                 101672.00                       +67.29
All.Data.Fold/o-1-space.FileSplitSeq.takeEndBySeq_ infix empty pattern                                    63192.10                       +59.05
All.Data.Stream/o-1-space.exceptions.Stream.after_ (1/10)                                                 11646.00                       +43.59
All.Data.Fold/o-1-space.FileSplitSeq.takeEndBySeq_ infix abcdefghi                                      1168430.00                       +43.38
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq_ KR catcatcatcatcat                                   626663.00                       +41.08
All.Data.Fold/o-1-space.FileSplitSeq.takeEndBySeq_ infix abcdefghijklmnopqrstuvwxyz                     1225510.00                       +39.56
All.Data.Fold/o-1-space.FileSplitSeq.takeEndBySeq_ infix catcatcatcatcat                                1258930.00                       +37.13
All.Data.Array/o-1-space.transformationX4.map                                                               611.00                       +35.57
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq_ KR abcdefghi                                         622364.00                       +31.97
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq_ KR abcdefghijklmnopqrstuvwxyz                        659288.00                       +29.88
All.Data.StreamK/o-1-space.generation.fromFoldable                                                          504.64                       +24.62
All.Data.StreamK/o-1-space.elimination.uncons                                                               679.56                       +19.67
All.Data.Stream/o-1-space.grouping.groupsByRollingEq                                                       1005.03                       +18.28
All.Data.StreamK/o-n-space.concat.concatMapWithD D.roundRobin outer=inner=(sqrt Max)                     146223.00                       +18.15
All.Data.Fold.Window/o-1-space.fold.minimum (window size 100)                                               567.73                       +17.14
All.Data.Fold/o-1-space.composition.unfoldMany                                                             2045.52                       +15.34
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq_ single a                                             297721.00                       +14.82
All.Data.Stream/o-1-space.elimination.build.Identity.foldrMToListLength                                     633.53                       +14.50
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq word aaaa                                             451841.00                       +14.03
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq word abcdefgh                                         452065.00                       +13.88
All.Data.Stream/o-1-space.FileTakeSeq.takeEndBySeq word aa                                               454456.00                       +13.66
All.Data.StreamK/o-1-space.mixedX4.take-map                                                                7686.05                       +13.32
All.Data.ParserK/o-n-heap.sequence_                                                                        2575.45                       +13.19
All.Data.Stream/o-1-space.generation.enumerateFromThen                                                     1043.47                       +12.52
All.Data.StreamK/o-1-space.generation.iterate                                                               992.62                       +11.68
All.Data.Stream/o-1-space.mixed.foldl-map                                                                 10336.20                       +11.52
All.Data.Fold.Window/o-1-space.fold.maximum (window size 100)                                               581.53                       +10.74
All.Data.StreamK/o-1-space.elimination.foldlM'                                                              877.28                       +10.33

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions