Parallel --make (GHC build times on newer MacBook Pros?)

Evan Laforge qdunkan at gmail.com
Thu Sep 1 19:02:42 CEST 2011


>> It's an interesting idea that I hadn't thought of.  There would have to be
>> an atomic file system operation to "commit" a compiled module - getting that
>> right could be a bit tricky (compilation isn't deterministic, so the commit
>> has to be atomic).
>
> I suppose you could just rename it into place when you're done.
> -Edward

I was imagining that it could create Module.o.compiling and then
rename into place when it's done.  Then each ghc would do a work
stealing thing where it tries to find output to produce that doesn't
have an accompanying .compiling, or sleeps for a bit if all work at
this stage is already taken, which is likely to happen since sometimes
the graph would go through a bottleneck.  Then it's easy to clean up
if work gets interrupted, just rm **/*.compiling



More information about the Glasgow-haskell-users mailing list