Skip to content

enormous compile times

Some modules cause ghc to take a very very long time (and a lot of memory) to compile, even without optimisations.

Here is an example of a module that takes almost forever to compile. The WASH/HTML/HTMLMonad98.hs module from WASH-2.12 http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/

It is a 185k, 5,800 line module consisting almost entirely of data, class and instance declarations.

It might be interesting to use this module as a test case to profile ghc's front end to see if there are any obvious inefficiencies or unecessary non-linear algorithms.

WASH/HTML/HTMLPrelude.hs is almost as bad. Between the two of them they push the overall compile time for WASH to several minutes with -O0 and nearly half an hour with -O1. GHC's memory use while compiling WASH also grows to over 300Mb with -O0 and over 600Mb with -O1 (on a 64bit box).

All in all, WASH is an excellent stress test for GHC.

Trac metadata
Trac field Value
Version 6.8.1
Type Task
TypeOfFailure OtherFailure
Priority low
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Multiple
Architecture Multiple
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information