An Haskell compilation server

John Meacham
Wed, 17 Jan 2001 01:28:00 -0800

the benefits may not be as great as you suppose, modern operating
systems keep a buffer cache which contains all recently used data in
memory including executables, if your machine is not memory limited
(such that the OS would have to throw away your ghc pages to make room
for something else) then probably most of ghc's pages will already be
resident in RAM for subsequent runs. if you wish to distribute the make
over several machines that can be done easily by using 'ssh' or 'rsh' to
start jobs on remote machines and share the results via nfs or smb or
some other remote filesystem. there are also certain versions of make
such as 'pmake' which specialize in distributing building across
clusters of machines... modifying 'hmake' to distribute the builds
automagically might be an interesting and useful project though.

On Wed, Jan 17, 2001 at 09:53:26AM +0100, Sebastien Carlier wrote:
> How about turning ghc into a compilation server ?
> It would run as a daemon waiting for network
> connections, retrieve source files (through the
> same network socket, or nfs, or cvs, ...), compile
> them locally, and send back the result.
> This would prevent having to reload the compiler
> for each file - as the executable is quite large, this
> may already speed up compilation a bit.
> It could also cache .hi files, which would remove
> the need to parse them.
> It would also enable distributed compilation, on a
> properly configured site. That would be easy to do
> with hmake.
> There are many details to think about (should the
> parsing be made locally by the driver, or remotely...).
> How does it sound ?

John Meacham
California Institute of Technology, Alum.