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

GHC ghc-devs at haskell.org
Tue Dec 4 21:05:46 UTC 2018


#15938: Hadrian's recompilation check is extremely slow
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  alpmestan
            Type:  bug               |               Status:  patch
        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):  Phab:D5412
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by alpmestan):

 * status:  new => patch
 * differential:   => Phab:D5412


Comment:

 Got a patch up at https://phabricator.haskell.org/D5412. This cuts the
 pauses quite significantly, as expected. From 45-60s down to <5s, when
 resuming the build from a similar point. With Neil's shake changes
 mentionned above (which I have not tried yet), I'm confident we won't be
 seeing those pauses again before quite some time.

 The next bottleneck seems to be our program lookup in
 `Rules.Program.buildProgram`. We're also still doing a similarly "big"
 (not as big as the `compilePackage` one that my patch fixes) listing of
 contexts and generation of rules in `Rules.hs`, see `vanillaContexts`.
 Finally, my patch does require to lookup the `Package` from its `pkgPath`
 that we parse from the file path, but at least it's not at rule generation
 time.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15938#comment:35>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list