#2346: Compilation of large source files requires a lot of RAM
------------------------------------------+---------------------------------
 Reporter:  choener                       |          Owner:         
     Type:  compile-time performance bug  |         Status:  new    
 Priority:  normal                        |      Milestone:         
Component:  Compiler                      |        Version:  6.8.2  
 Severity:  major                         |     Resolution:         
 Keywords:                                |     Difficulty:  Unknown
 Testcase:                                |   Architecture:  x86    
       Os:  Linux                         |  
------------------------------------------+---------------------------------
Changes (by simonpj):

  * difficulty:  => Unknown

Old description:

> 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)
>

>
> System Info:
> ============
> 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

New description:

 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)
 }}}



 System Info:
 {{{
 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

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2346#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to