[GHC] #11380: Compiling a 10.000 line file exhausts memory
GHC
ghc-devs at haskell.org
Fri Jan 22 01:55:19 UTC 2016
#11380: Compiling a 10.000 line file exhausts memory
-------------------------------------+-------------------------------------
Reporter: kennethb | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.3
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Compile-time | (amd64)
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by rwbarton):
* priority: high => normal
Comment:
Let's stick to the array-based parser since that's what the original issue
was about. Then there's no problem compiling, either with or without
optimizations. The problem is only with ghci for some reason.
Trying with `-v`, there seems to be some major early difference when
building with ghc vs. ghci.
{{{
rwbarton at morphism:/tmp/pyn$ ghc-7.10.1 -fforce-recomp -c
dist/build/Language/Python/Pyn/Parser/Parser.hs -O0 -ilib -idist/build -v
-this-package-key pyn_4LeYrll2NJX6hY3DO8vvbp
Glasgow Haskell Compiler, Version 7.10.1, stage 2 booted by GHC version
7.8.4
[...]
*** Desugar:
Result size of Desugar (after optimization)
= {terms: 214,221, types: 3,864,905, coercions: 74,929}
[... everything is fine]
}}}
{{{
rwbarton at morphism:/tmp/pyn$ ghci-7.10.1
dist/build/Language/Python/Pyn/Parser/Parser.hs -ilib -idist/build -v
-this-package-key pyn_4LeYrll2NJX6hY3DO8vvbp
[...]
[10 of 10] Compiling Language.Python.Pyn.Parser.Parser (
dist/build/Language/Python/Pyn/Parser/Parser.hs, interpreted )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size of Desugar (after optimization)
= {terms: 220,453, types: 414,293,970, coercions: 75,337}
*** Simplifier:
Result size of Simplifier iteration=1
= {terms: 220,516, types: 419,756,722, coercions: 577,145}
Result size of Simplifier iteration=2
= {terms: 220,516, types: 419,756,722, coercions: 370,154}
Result size of Simplifier
= {terms: 220,514, types: 419,756,719, coercions: 370,206}
*** Tidy Core:
Result size of Tidy Core^CInterrupted. [here memory usage exploded]
}}}
What would cause this huge difference?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11380#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list