<br><br><div class="gmail_quote">On Thu, Nov 12, 2009 at 2:57 AM, Neil Mitchell <span dir="ltr"><<a href="mailto:ndmitchell@gmail.com">ndmitchell@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi,<br>
<br>
I'd really love a faster GHC! I spend hours every day waiting for GHC,<br>
so any improvements would be most welcome.<br></blockquote><div><br></div><div>Has anyone built a profiling enabled GHC to get data on where GHC spends time during compilation?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
I remember when developing Yhc on a really low powered computer, it<br>
had around 200 modules and loaded from scratch (with all the Prelude<br>
etc) in about 3 seconds on Hugs. ghc --make took about that long to<br>
start compiling the first file, and I think a complete compile was<br>
around 5 minutes. It's one of the main reasons I stuck with Hugs for<br>
so long.<br>
<br>
Running GHC in parallel with --make would be nice, but I find on<br>
Windows that the link time is the bottleneck for most projects.<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>In conclusion, improving GNU ld could be a huge win for GHC, at least on linux. Does GHC on windows use GNU ld?</div><div><br></div><div>Jason</div></div>