[GHC] #13535: vector test suite uses excessive memory on GHC 8.2

GHC ghc-devs at haskell.org
Fri Apr 14 02:11:27 UTC 2017


#13535: vector test suite uses excessive memory on GHC 8.2
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  8.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #10800            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Comparing the compilation of just the `Data.Vector.Vector (Bool)` with GHC
 8.0.2 and 8.2 is also quite interesting: starting early in simplification
 we see that 8.2's core is typically less than half(!) the size of 8.0's
 (perhaps some goodness due to early inlining?). For instance,
 {{{
 # 8.0.2
   = {terms: 271,375, types: 552,012, coercions: 226,814}

 # 8.2
 Result size of Simplifier iteration=1
   = {terms: 105,610,
      types: 209,276,
      coercions: 135,191,
      joins: 299/5,710}
 }}}

 This remains the case throughout most of simplification; however, it seems
 that either Core Tidy or Core Prep cleans things up in 8.0, resulting in
 rather similar program sizes,
 {{{
 # 8.0.2
 Result size of CorePrep
   = {terms: 56,693, types: 73,297, coercions: 24,938}
 !!! CorePrep [Tests.Vector]: finished in 135.38 milliseconds, allocated
 97.842 megabytes

 # 8.2
 Result size of CorePrep
   = {terms: 69,730,
      types: 85,131,
      coercions: 125,647,
      joins: 248/2,453}
 !!! CorePrep [Tests.Vector]: finished in 132.14 milliseconds, allocated
 106.584 megabytes
 }}}

 Seeing that the Core sizes are comparable when compiling a single
 testcase, question (2) is becoming quite interesting.

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


More information about the ghc-tickets mailing list