[GHC] #14944: Compile speed regression

GHC ghc-devs at haskell.org
Wed Mar 21 04:26:53 UTC 2018


#14944: Compile speed regression
-------------------------------------+-------------------------------------
        Reporter:  br1               |                Owner:  dfeuer
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.4.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 dfeuer):

 === 8.4.1

 Paper:

 {{{
 Result size of CorePrep
   = {terms: 3,228, types: 5,423, coercions: 1,008, joins: 3/50}
 }}}

 Main:

 {{{
 Result size of Desugar (after optimization)
   = {terms: 4,564, types: 632,574, coercions: 196, joins: 0/982}
 Result size of Simplifier iteration=1
   = {terms: 6,858, types: 1,023,896, coercions: 86,509, joins: 0/786}
 Result size of Simplifier iteration=2
   = {terms: 4,014, types: 726,796, coercions: 85,137, joins: 1/2}
 Result size of Specialise
   = {terms: 9,329, types: 1,646,724, coercions: 168,346, joins: 2/2}
 Result size of Float out(FOS {Lam = Just 0,
                               Consts = True,
                               OverSatApps = False})
   = {terms: 10,431, types: 1,862,310, coercions: 168,346, joins: 1/2}
 Result size of Simplifier iteration=1
   = {terms: 9,648, types: 1,706,501, coercions: 227,811, joins: 2/2}
 Result size of Simplifier iteration=2
   = {terms: 9,349, types: 1,647,213, coercions: 168,353, joins: 2/2}
 ...
 Result size of Simplifier
   = {terms: 9,334, types: 1,647,199, coercions: 168,352, joins: 2/2}

 -- What happened here??????

 Result size of Simplifier iteration=1
   = {terms: 110,206,
      types: 1,818,532,
      coercions: 379,933,
      joins: 593/20,293}
 Result size of Simplifier
   = {terms: 8,914, types: 1,272,932, coercions: 85,550, joins: 5/203}
 ....
 Result size of Demand analysis
   = {terms: 8,323, types: 1,272,755, coercions: 85,550, joins: 5/6}
 !!! Demand analysis [Main]: finished in 200.01 milliseconds, allocated
 115.130 megabytes
 *** CoreTidy [Main]:
 Result size of Tidy Core
   = {terms: 1,867, types: 166,695, coercions: 1,988, joins: 5/6}

 }}}

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


More information about the ghc-tickets mailing list