Parallel --make (GHC build times on newer MacBook Pros?)
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.
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