[GHC] #12545: Compilation time/space regression in GHC 8.0/8.1 (search in type-level lists and -O)

GHC ghc-devs at haskell.org
Wed May 31 04:17:07 UTC 2017


#12545: Compilation time/space regression in GHC 8.0/8.1 (search in type-level
lists and -O)
-------------------------------------+-------------------------------------
        Reporter:                    |                Owner:  (none)
  mikhail.vorozhtsov                 |
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:  Inlining
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by RyanGlScott):

 Found it. The other culprit is commit
 1722fa106e10e63160bb2322e2ccb830fd5b9ab3 (Fix #11230.):

 {{{
 Commit ae86eb9f72fa7220fe47ac54d6d21395691c1308 (Fix tcTyClTyVars to
 handle SigTvs)
 -----
 $ time ghc4/inplace/bin/ghc-stage2 -fforce-recomp -O -c -Rghc-timing
 TypeList.hs Regression.hs
 <<ghc: 68211633024 bytes, 4916 GCs, 73233972/211211872 avg/max bytes
 residency (20 samples), 571M in use, 0.001 INIT (0.001 elapsed), 28.299
 MUT (28.320 elapsed), 4.831 GC (4.828 elapsed) :ghc>>

 real    0m33.216s
 user    0m33.040s
 sys     0m0.176s

 Commit 1722fa106e10e63160bb2322e2ccb830fd5b9ab3 (Fix #11230.)
 -----
 $ time ghc4/inplace/bin/ghc-stage2 -fforce-recomp -O -c -Rghc-timing
 TypeList.hs Regression.hs
 <<ghc: 161224532608 bytes, 8789 GCs, 195013385/460659576 avg/max bytes
 residency (37 samples), 1272M in use, 0.001 INIT (0.001 elapsed), 66.710
 MUT (66.753 elapsed), 18.669 GC (18.660 elapsed) :ghc>>

 real    1m25.494s
 user    1m25.252s
 sys     0m0.260s
 }}}

 What's alarming is that that commit is so small! There must be something
 interesting happening there...

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


More information about the ghc-tickets mailing list