
#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