parallelizing ghc

Mikhail Glushenkov the.dead.shall.rise at gmail.com
Tue Jan 24 10:45:10 CET 2012


Hi,

On Tue, Jan 24, 2012 at 4:53 AM, Evan Laforge <qdunkan at gmail.com> wrote:
> [...]
>
> So ghc --make provides two things: a dependency chaser and a way to
> keep the compiler resident as it compiles new files.  Since the
> dependency chaser will never be as powerful as a real build system, it
> occurs to me that the only reasonable way forward is to split out the
> second part, by adding an --interactive flag to ghc.  It would then
> read filenames on stdin, compiling each one in turn, only exiting when
> it sees EOF.

There is in fact an '--interactive' flag already, 'ghc --interactive'
is a synonym for 'ghci'.

> So I'm wondering, does this seem reasonable and feasible?  Is there a
> better way to do it?  Even if it could be done, would it be worth it?
> If the answers are "yes", "maybe not", and "maybe yes", then how hard
> would this be to do and where should I start looking?  I'm assuming
> start at GhcMake.hs and work outwards from there...

I'm also interested in a "build server" mode for ghc. I have written a
parallel wrapper for 'ghc --make' [1], but the speed gains are not as
impressive [2] as I hoped because of the duplicated work.


[1] https://github.com/23Skidoo/ghc-parmake
[2] https://gist.github.com/1360470

-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments



More information about the Glasgow-haskell-users mailing list