Regression: space leak in HEAD vs. 7.4
I often keep an eye on compiler performance by compiling Cabal. Yesterday I noticed that HEAD appears to have a space leak: it needs 806MB to compile Cabal with -O, vs 424MB with 7.4.1.
Here are the results. First 7.4.1:
$ ghc-7.4.1 -O --make Distribution.Simple +RTS -s
53,658,077,704 bytes allocated in the heap
9,679,170,192 bytes copied during GC
148,845,896 bytes maximum residency (56 sample(s))
6,610,216 bytes maximum slop
424 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 102382 colls, 0 par 24.24s 24.22s 0.0002s 0.0046s
Gen 1 56 colls, 0 par 12.48s 12.48s 0.2229s 0.4738s
INIT time 0.00s ( 0.00s elapsed)
MUT time 57.37s ( 60.81s elapsed)
GC time 36.72s ( 36.70s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 94.09s ( 97.52s elapsed)
And HEAD:
$ ghc-nightly2 -O --make Distribution.Simple +RTS -s
55,699,304,032 bytes allocated in the heap
11,721,558,728 bytes copied during GC
288,988,200 bytes maximum residency (50 sample(s))
7,808,192 bytes maximum slop
806 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 107655 colls, 0 par 28.83s 28.83s 0.0003s 0.0043s
Gen 1 50 colls, 0 par 16.36s 16.36s 0.3272s 1.0063s
TASKS: 3 (1 bound, 2 peak workers (2 total), using -N1)
INIT time 0.00s ( 0.00s elapsed)
MUT time 59.87s ( 63.18s elapsed)
GC time 45.19s ( 45.19s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 105.07s (108.37s elapsed)
We need to squash this before 7.6 is released.
Trac metadata
Trac field | Value |
---|---|
Version | 7.5 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | highest |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |