[GHC] #9961: compile-time performance regression compiling genprimcode
GHC
ghc-devs at haskell.org
Tue Jan 6 14:02:30 UTC 2015
#9961: compile-time performance regression compiling genprimcode
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: simonpj
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Compiler | Version: 7.10.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by simonpj):
I can't reproduce this with HEAD. I used this command line, from the root
directory, which I took from a build log
{{{
ghc -hisuf hi -osuf o -hcsuf hc -static -H32m -O -Werror -Wall -H64m -i
-iutils/genprimopcode/. -iutils/genprimopcode/dist/build
-iutils/genprimopcode/dist/build/autogen -Iutils/genprimopcode/dist/build
-Iutils/genprimopcode/dist/build/autogen -package array -no-user-
package-db -rtsopts -odir utils/genprimopcode/dist/build -hidir
utils/genprimopcode/dist/build -stubdir utils/genprimopcode/dist/build
--make utils/genprimopcode/Main.hs -fforce-recomp +RTS -s
}}}
With HEAD I get
{{{
4,189,727,416 bytes allocated in the heap
525,871,120 bytes copied during GC
43,253,816 bytes maximum residency (12 sample(s))
1,758,368 bytes maximum slop
116 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max
pause
Gen 0 600 colls, 0 par 1.824s 1.823s 0.0030s
0.0271s
Gen 1 12 colls, 0 par 0.811s 0.811s 0.0676s
0.1351s
TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.002s ( 0.001s elapsed)
MUT time 6.997s ( 7.946s elapsed)
GC time 2.635s ( 2.635s elapsed)
EXIT time 0.038s ( 0.037s elapsed)
Total time 9.711s ( 10.619s elapsed)
}}}
With ghc 7.8 I get
{{{
3,874,936,096 bytes allocated in the heap
416,943,272 bytes copied during GC
44,518,152 bytes maximum residency (10 sample(s))
1,549,168 bytes maximum slop
115 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max
pause
Gen 0 396 colls, 0 par 1.21s 1.25s 0.0032s
0.0207s
Gen 1 10 colls, 0 par 0.57s 0.65s 0.0654s
0.1421s
TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.00s ( 0.00s elapsed)
MUT time 5.63s ( 6.59s elapsed)
GC time 1.78s ( 1.91s elapsed)
EXIT time 0.03s ( 0.04s elapsed)
Total time 7.46s ( 8.54s elapsed)
}}}
They may not be quite comparable (e.g. my HEAD libraries are built with
-O, but I think my installed GHC probably has libraries built with -O2).
But HEAD is not way out of line.
I suppose I can now try building the 7.10 branch.
Meanwhile, would someone try with `-dshow-passes` (which displays
intermediate sizes)?
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9961#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list