Compilation of large source files requires a lot of RAM
|Reported by:||choener||Owned by:|
|Type of failure:||Compile-time performance bug||Test Case:|
|Related Tickets:||Differential Rev(s):|
Description (last modified by simonpj)
We have automatically generated source files with up to ~20000 lines of code.
One type definition, two functions called "grammar" (cmGrammer, ghGrammar) and one or more functions called "algebra" (prettyprint, scoremax, count, *) are generated. Each function has a where-clause with 100+ locally visible function defined.
Attached, you find two files (ADPTriCombinators.lhs, RnaI.lhs) with helper-functions and three of our source files. One is the smallest example we have and the other the largest. RF00549RED.hs is reduced to only the type, one algebra and one grammar.
Copy all files into a directory and then execute:
ghc --make RF00390.hs (should work) ghc --make RF00549.hs (WARNING: EATS ALL MEMORY) ghc --make RF00549RED.hs (WARNING: EATS ALL MEMORY)
Linux workstation 2.6.25-ARCH #1 SMP PREEMPT Fri May 16 14:52:43 CEST 2008 i686 AMD Athlon(tm) 64 Processor 3500+ AuthenticAMD GNU/Linux (2 GByte RAM, 2 GByte Swap) gcc version 4.3.0 (GCC)
Thanks, Christian Höner zu Siederdissen
Change History (24)
Changed 8 years ago by choener
comment:10 Changed 6 years ago by igloo
- Milestone changed from 6.12.3 to 6.14.1
- Priority changed from normal to low
comment:14 Changed 5 years ago by igloo
- Milestone changed from 7.4.1 to 7.6.1
- Priority changed from low to lowest
Changed 4 years ago by morabbin
comment:18 Changed 22 months ago by thomie
- Architecture changed from x86 to Unknown/Multiple
- Operating System changed from Linux to Unknown/Multiple