[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