[Haskell-cafe] faster compiling for ghc

Jason Dagit dagit at codersbase.com
Thu Nov 12 20:25:06 EST 2009


On Thu, Nov 12, 2009 at 2:57 AM, Neil Mitchell <ndmitchell at gmail.com> wrote:

> Hi,
>
> I'd really love a faster GHC! I spend hours every day waiting for GHC,
> so any improvements would be most welcome.
>

Has anyone built a profiling enabled GHC to get data on where GHC spends
time during compilation?


>
> I remember when developing Yhc on a really low powered computer, it
> had around 200 modules and loaded from scratch (with all the Prelude
> etc) in about 3 seconds on Hugs. ghc --make took about that long to
> start compiling the first file, and I think a complete compile was
> around 5 minutes. It's one of the main reasons I stuck with Hugs for
> so long.
>
> Running GHC in parallel with --make would be nice, but I find on
> Windows that the link time is the bottleneck for most projects.
>

Yes, when GHC calls GNU ld, it can be very costly.  In my experience, on a
linux virtual host I had to build my own GHC to disable split-obj because
having it enabled caused ld to use about 1GB of memory.  This is insane for
a virtual host.  I tried to solve it by adding swap that meant linking a
trivial Setup.hs took about an hour.

In conclusion, improving GNU ld could be a huge win for GHC, at least on
linux.  Does GHC on windows use GNU ld?

Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20091112/e98009d8/attachment.html


More information about the Haskell-Cafe mailing list