summaryrefslogtreecommitdiff
path: root/config.guess
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2022-10-10 13:39:00 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-10-11 12:49:21 -0400
commit284cf387537110ce9139bf6ed0841c8f4f41db2a (patch)
tree0d957c1e409ad1669c23b2922d0cff123cca47ec /config.guess
parentcaced75765472a1a94453f2e5a439dba0d04a265 (diff)
downloadhaskell-284cf387537110ce9139bf6ed0841c8f4f41db2a.tar.gz
Make SpecConstr bale out less often
When doing performance debugging on #22084 / !8901, I found that the algorithm in SpecConstr.decreaseSpecCount was so aggressive that if there were /more/ specialisations available for an outer function, that could more or less kill off specialisation for an /inner/ function. (An example was in nofib/spectral/fibheaps.) This patch makes it a bit more aggressive, by dividing by 2, rather than by the number of outer specialisations. This makes the program bigger, temporarily: T19695(normal) ghc/alloc +11.3% BAD because we get more specialisation. But lots of other programs compile a bit faster and the geometric mean in perf/compiler is 0.0%. Metric Increase: T19695
Diffstat (limited to 'config.guess')
0 files changed, 0 insertions, 0 deletions