Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions