
#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