Performance week 25/6-29/6

Simon Marlow simonmar at
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
    modest speedup.

  - 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 mailing list