#3972: ghc 6.12.1 and 6.13.20090922 consume a lot more memory than 6.10.4 when
compiling language-python package
-------------------------------+--------------------------------------------
    Reporter:  bjpop           |        Owner:  simonpj                         
                                      
        Type:  bug             |       Status:  new                             
                                      
    Priority:  high            |    Milestone:  6.12.3                          
                                      
   Component:  Compiler        |      Version:  6.12.1                          
                                      
    Keywords:  memory usage    |   Difficulty:                                  
                                      
          Os:  Linux           |     Testcase:  
http://projects.haskell.org/language-python/language-python-0.2.tar.gz
Architecture:  x86_64 (amd64)  |      Failure:  Compile-time performance bug    
                                      
-------------------------------+--------------------------------------------

Comment(by simonmar):

 This workaround seems to do the trick.  To the top of
 `Language.Python.Common.AST`, add

 {{{
 {-# OPTIONS_GHC -fomit-interface-pragmas #-}
 }}}

 You might also want to add `-O0` option to each `Parser.y` file, but
 without them GHC tops out at 1GB on a 64-bit machine.

 The problem seems to be inlining of record selectors.  I tried working
 around it with NOINLINE pragmas on the instance Span methods, to no avail.

 All the inlining machinery has had an overhaul in 6.14, so I don't imagine
 we'll be investing time in a fix for this in the 6.12 branch unless it's
 easy (I defer to Simon PJ on that one).

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3972#comment:9>
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