[GHC] #15938: Hadrian's recompilation check is extremely slow

GHC ghc-devs at haskell.org
Thu Nov 29 22:43:27 UTC 2018


#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


More information about the ghc-tickets mailing list