Performance week 25/6-29/6
simonmar at microsoft.com
Mon Aug 1 09:52:02 EDT 2005
[ duh, hit send by mistake, that's twice today :-( ]
Ok, we made some progress on performance last week, but there's still
plenty to do. Here's a summary:
- Simon PJ found an O(n^2) case in the simplifier that appears to
be the cause of most, if not all, of the cases of GHC going out
to lunch when compiling certain modules. However, while testing
the fix we discovered that it caused worse code to be generated
for some programs, so we're still looking into this.
- I added a hack in GHC's back end to do some lightweight buffering of
the output, which results in about a 10% speedup in compilation
time. The C output was also using the full pretty printer, when
it doesn't really need to do indentation.
- I tweaked the garbage collector in a few places, to get some
- A nasty space leak in the native code generator was found & fixed.
The space usage of GHC in general remains worse than we'd like.
- A few other minor optimisations were made in the compiler.
We plan to put the simplifier fix into 6.4.1, and the NCG space-leak fix
is already in. The other fixes are a little too intrusive with 6.4.1
being so close, so we'll hold off on those (possibly for 6.4.2).
More information about the Glasgow-haskell-users