Potential GSoC proposal: Reduce the speed gap between 'ghc -c' and 'ghc --make'

Ryan Newton rrnewton at gmail.com
Thu May 24 04:11:04 CEST 2012

> <the.dead.shall.rise at gmail.com> wrote:
> > Thanks. I'll look into how to optimise .hi loading by more traditional
> > means, then.
> Lennart is working on speeding up the binary package (which I believe
> is used to decode the .hi files.) His work might benefit this effort.

Last time I tested it, mmap still offered better performance than fread on
linux.  In addition to improving the deserialization code it would seem
like a good idea to mmap the whole file at the outset as well.

It seems like readBinMem is the relevant function (readIFace ->
readBinIFace -> readBinMem), which occurs here:


Currently it does one big hGetBuf to read the file.  Since the interface
files aren't changing dynamically, I think it's safe to just replace this
code with an mmap.

It's nice to see that we have several wrapped versions of mmap provided on


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20120523/84bb3b52/attachment.htm>

More information about the Glasgow-haskell-users mailing list