Raft of optimiser changes
Simon Peyton Jones
simonpj at microsoft.com
Thu Aug 28 11:16:03 UTC 2014
I've just pushed a bunch of Core-to-Core optimisation changes that have been sitting in my tree for ages. The aggregate effect on nofib is very modest, but they are mostly aimed at corner cases, and consolidation.
Program Size Allocs Runtime Elapsed TotalMem
Min -7.2% -3.1% -7.8% -7.8% -14.8%
Max +5.6% +1.3% +20.0% +19.7% +50.0%
Geometric Mean -0.3% -0.1% +1.7% +1.7% +0.2%
The runtime increases are spurious - I checked.
A couple of perf/compiler tests (i.e. GHC's own performance) improve significantly, which is a good sign.
I have a few more to come but wanted to get this lot out of my hair.
Simon
a1a400ed * Testsuite wibbles
39ccdf91 * White space only
6c6b001e * Remove dead lookup_dfun_id (merge-o)
a0b2897e * Simple refactor of the case-of-case transform
bb877266 * Performance changes
082e41b4 * Testsuite wibbles
1122857e * Run float-inwards immediately before the strictness analyser.
86a2ebf8 * Comments only
6d48ce29 * Make tidyProgram discard speculative specialisation rules
fa582cc4 * Fix an egregious bug in the NonRec case of bindFreeVars
b9e49d3e * Add -fspecialise-aggressively
dce70957 * Compiler performance increases -- yay!
a3e207f6 * More SPEC rules fire
baa3c9a3 * Wibbles to "...plus N others" error message about instances in scope
99178c1f * Specialise monad functions, and make them INLINEABLE
2ef997b8 * Slightly improve fusion rules for 'take'
949ad67e * Don't float out (classop dict e1 e2)
34363330 * Move the Enum Word instance into GHC.Enum
4c03791f * Specialise Eq, Ord, Read, Show at Int, Char, String
9cf5906b * Make worker/wrapper work on INLINEABLE things
8f099374 * Make maybeUnfoldingTemplate respond to DFunUnfoldings
3af1adf9 * Kill unused setUnfoldingTemplate
6e0f6ede * Refactor unfoldings
e9cd1d5e * Less voluminous output when printing continuations
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140828/05cb2b40/attachment.html>
More information about the ghc-devs
mailing list