
On Thu, Nov 12, 2009 at 2:57 AM, Neil Mitchell
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