[GHC] #7428: GHC compile times are seriously non-linear in program size

GHC ghc-devs at haskell.org
Fri Sep 27 02:51:44 CEST 2013


#7428: GHC compile times are seriously non-linear in program size
---------------------------------------+----------------------------------
        Reporter:  nudded              |            Owner:
            Type:  bug                 |           Status:  new
        Priority:  high                |        Milestone:  7.8.1
       Component:  Compiler            |          Version:  7.4.2
      Resolution:                      |         Keywords:
Operating System:  MacOS X             |     Architecture:  x86_64 (amd64)
 Type of failure:  Compile-time crash  |       Difficulty:  Unknown
       Test Case:                      |       Blocked By:
        Blocking:                      |  Related Tickets:
---------------------------------------+----------------------------------
Changes (by simonmar):

 * priority:  normal => high


Comment:

 Simon - this looks like a real issue.  The types blow up during successive
 simplification stages, look at this:

 {{{
 *** Float inwards:
 Result size of Float inwards
   = {terms: 985, types: 6,189, coercions: 267}
 *** Simplifier:
 Result size of Simplifier iteration=1
   = {terms: 4,502, types: 100,514, coercions: 35,229}
 Result size of Simplifier iteration=2
   = {terms: 3,022, types: 335,649, coercions: 137,994}
 Result size of Simplifier iteration=3
   = {terms: 2,659, types: 766,643, coercions: 324,940}
 Result size of Simplifier iteration=4
   = {terms: 2,461, types: 2,556,807, coercions: 1,206,055}
 Result size of Simplifier
   = {terms: 2,461, types: 2,556,807, coercions: 1,206,055}
 *** Simplifier:
 Result size of Simplifier iteration=1
   = {terms: 2,396, types: 9,160,050, coercions: 4,470,133}
 Result size of Simplifier iteration=2
   = {terms: 2,341, types: 30,948,777, coercions: 15,796,211}
 ghc-stage2: out of memory (requested 1048576 bytes)
 }}}

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



More information about the ghc-tickets mailing list