
#15938: Hadrian's recompilation check is extremely slow -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.8.1 Component: Build System | Version: 8.6.2 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Given how the cost center profile accounts for only around a third of the wall clock runtime, I reran with `+RTS -s`. This suggests that we are doing an absurd amount of GC: {{{ shakeArgsWith 0.000s 0% Function shake 0.460s 1% Database read 0.074s 0% With database 0.002s 0% Running rules 34.779s 98% ========================= Total 35.315s 100% user interrupt 51,232,883,504 bytes allocated in the heap 36,169,578,656 bytes copied during GC 141,089,464 bytes maximum residency (222 sample(s)) 800,072 bytes maximum slop 401 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 36298 colls, 0 par 9.398s 9.311s 0.0003s 0.0021s Gen 1 222 colls, 0 par 11.252s 11.215s 0.0505s 0.1005s TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1) SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) INIT time 0.001s ( 0.001s elapsed) MUT time 13.275s ( 14.804s elapsed) GC time 20.650s ( 20.526s elapsed) RP time 0.000s ( 0.000s elapsed) PROF time 0.000s ( 0.000s elapsed) EXIT time 0.001s ( 0.001s elapsed) Total time 33.926s ( 35.331s elapsed) Alloc rate 3,859,448,027 bytes per MUT second Productivity 39.1% of total user, 41.9% of total elapsed gc_alloc_block_sync: 0 whitehole_spin: 0 gen[0].sync: 0 gen[1].sync: 0 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15938#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler