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

GHC ghc-devs at haskell.org
Thu Nov 29 23:03:35 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):

 Putting aside the GC strangeness for a bit, it still seems like Hadrian is
 rather slow to start. The 12 second mutator time during start-up is still
 rather sluggish. The profile shows the following:
 {{{
         Thu Nov 29 17:59 2018 Time and Allocation Profiling Report
 (Final)

            hadrian +RTS -I0 -qg -l -s -p -A32M -RTS --lint --directory
 /home/ben/ghc/ghc

         total time  =       16.60 secs   (16598 ticks @ 1000 us, 1
 processor)
         total alloc = 26,405,461,216 bytes  (excludes profiling overheads)

 COST CENTRE         MODULE                                 SRC
 %time %alloc

 unionWith           General.TypeMap
 src/General/TypeMap.hs:34:1-97                                   37.1
 53.2
 ?==                 Development.Shake.Internal.FilePattern
 src/Development/Shake/Internal/FilePattern.hs:(226,1)-(230,34)   32.3
 10.4
 split               Data.List.Extra
 src/Data/List/Extra.hs:(569,1)-(571,48)                          15.5
 20.6
 getUserRuleInternal Development.Shake.Internal.Core.Rules
 src/Development/Shake/Internal/Core/Rules.hs:(62,1)-(75,48)       3.1
 2.2
 foldr               Data.ByteString.UTF8
 Data/ByteString/UTF8.hs:(171,1)-(173,40)                          2.6
 4.1
 defaultRuleFile     Development.Shake.Internal.Rules.File
 src/Development/Shake/Internal/Rules/File.hs:(191,1)-(194,96)     1.6
 0.0
 decode              Data.ByteString.UTF8
 Data/ByteString/UTF8.hs:(68,1)-(124,32)                           1.4
 5.4
 &%>                 Development.Shake.Internal.Rules.Files
 src/Development/Shake/Internal/Rules/Files.hs:(163,1)-(180,42)    1.1
 0.7

 }}}

 Is this what you would expect during start-up, ndmitchell?

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


More information about the ghc-tickets mailing list