[GHC] #13059: High memory usage during compilation

GHC ghc-devs at haskell.org
Mon Jan 16 05:09:21 UTC 2017


#13059: High memory usage during compilation
-------------------------------------+-------------------------------------
        Reporter:  domenkozar        |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.2-rc2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:  x86_64
 Type of failure:  Compile-time      |  (amd64)
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by dfeuer):

 There indeed seems to be a code size change (and you can ignore the minor
 10GB wibble I mentioned; I think that was me measuring wrong). Everything
 is similar (but not identical) for a while, until float out. a0472f8
 produced

 {{{
 *** Float out(FOS {Lam = Just 0,
                    Consts = True,
                    OverSatApps = False}) [Data.Store.Internal]:
 Result size of Float out(FOS {Lam = Just 0,
                               Consts = True,
                               OverSatApps = False})
   = {terms: 90,610, types: 838,922, coercions: 461,514}
 !!! Float out(FOS {Lam = Just 0,
                    Consts = True,
                    OverSatApps = False}) [Data.Store.Internal]: finished
 in 446.16 milliseconds, allocated 469.370 megabytes
 *** Simplifier [Data.Store.Internal]:
 Result size of Simplifier iteration=1
   = {terms: 260,919, types: 1,555,565, coercions: 747,071}
 }}}

 But 54b887b produced

 {{{
 *** Float out(FOS {Lam = Just 0,
                    Consts = True,
                    OverSatApps = False}) [Data.Store.Internal]:
 Result size of Float out(FOS {Lam = Just 0,
                               Consts = True,
                               OverSatApps = False})
   = {terms: 90,693, types: 839,131, coercions: 461,514}
 !!! Float out(FOS {Lam = Just 0,
                    Consts = True,
                    OverSatApps = False}) [Data.Store.Internal]: finished
 in 942.78 milliseconds, allocated 470.779 megabytes
 *** Simplifier [Data.Store.Internal]:
 Result size of Simplifier iteration=1
   = {terms: 502,024, types: 2,614,803, coercions: 1,192,064}
 }}}

 That's quite a jump indeed.

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


More information about the ghc-tickets mailing list