[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
Sat Aug 27 11:43:00 UTC 2016


#12545: Compilation time/space regression in GHC 8.0/8.1 (search in type-level
lists and -O)
-------------------------------------+-------------------------------------
        Reporter:                    |                Owner:
  mikhail.vorozhtsov                 |
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
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 mikhail.vorozhtsov):

 The results of putting `NOINLINE` on `elemWitness`:

 {{{
 $ time ~/Prefixes/ghc-7.10.3/bin/ghc -O -c -Rghc-timing TypeList.hs
 Regression.hs
 <<ghc: 4483083448 bytes, 546 GCs, 31794039/124563608 avg/max bytes
 residency (13 samples), 294M in use, 0.000 INIT (0.001 elapsed), 3.247 MUT
 (3.279 elapsed), 1.677 GC (1.753 elapsed) :ghc>>

 real    0m5.092s
 user    0m4.983s
 sys     0m0.097s
 $ time ~/Prefixes/ghc-8.0.1/bin/ghc -O -c -Rghc-timing TypeList.hs
 Regression.hs
 <<ghc: 25719759160 bytes, 2550 GCs, 51924484/183848928 avg/max bytes
 residency (16 samples), 510M in use, 0.000 INIT (0.000 elapsed), 19.883
 MUT (20.050 elapsed), 3.770 GC (3.880 elapsed) :ghc>>

 real    0m23.988s
 user    0m23.747s
 sys     0m0.190s
 }}}

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


More information about the ghc-tickets mailing list