
#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