[GHC] #15703: Significant compilation time blowup when refactoring singletons-heavy code

GHC ghc-devs at haskell.org
Tue Oct 9 21:44:26 UTC 2018


#15703: Significant compilation time blowup when refactoring singletons-heavy code
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.8.1
       Component:  Compiler          |              Version:  8.6.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #15725            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by RyanGlScott):

 Hold on a second... now that I've compiled GHC HEAD, it turns out that
 HEAD compiles this program //much// faster than 8.6.1 does:

 {{{
 $ time ~/Software/ghc2/inplace/bin/ghc-stage2 -O0 -fforce-recomp Lib.hs
 [1 of 2] Compiling Lib2             ( Lib2.hs, Lib2.o )
 [2 of 2] Compiling Lib              ( Lib.hs, Lib.o )

 real    0m0.462s
 user    0m0.404s
 sys     0m0.048s

 $ time ~/Software/ghc2/inplace/bin/ghc-stage2 -O1 -fforce-recomp Lib.hs
 [1 of 2] Compiling Lib2             ( Lib2.hs, Lib2.o )
 [2 of 2] Compiling Lib              ( Lib.hs, Lib.o )

 real    0m22.205s
 user    0m22.180s
 sys     0m0.048s
 }}}

 In fact, much of the speed gain that I saw in comment:8 would more
 accurately be attributed to using HEAD, not necessarily Phab:D4766
 (although Phab:D4766 does seem to shave off about five seconds, which is
 nothing to shake a stick at). It's not clear to me what makes HEAD so much
 faster, but that's quite encouraging!

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


More information about the ghc-tickets mailing list