[GHC] #7954: Strictness analysis regression

GHC ghc-devs at haskell.org
Sun Jun 2 19:29:21 CEST 2013


#7954: Strictness analysis regression
------------------------------------+---------------------------------------
Reporter:  chad.scherrer            |          Owner:                
    Type:  bug                      |         Status:  new           
Priority:  normal                   |      Component:  Compiler      
 Version:  7.6.2                    |       Keywords:                
      Os:  Unknown/Multiple         |   Architecture:  x86_64 (amd64)
 Failure:  Runtime performance bug  |      Blockedby:                
Blocking:                           |        Related:                
------------------------------------+---------------------------------------
 The sum function from the Prelude relies on GHC's strictness analysis.

 Here's a run on GHC 7.6.2 where I kill it partway through - max resident
 memory is over 6 GB. Everything works perfectly if I replace `sum` with
 `foldl' (+) 0.0`.

 Chris Done also tested this on 7.4.2; in that case the memory leak is not
 present and the code runs fine.

 {{{
     ---------------------------
     chad at chad-desktop:~$ cat norm.hs
     norm ::  [Double] -> Double
     norm = sqrt . sum . map (\x -> x*x)

     main :: IO ()
     main = print . norm $ enumFromTo 0 100000000

     ---------------------------
     chad at chad-desktop:~$ ghc -V
     The Glorious Glasgow Haskell Compilation System, version 7.6.2

     ---------------------------
     chad at chad-desktop:~$ ghc -O2 norm.hs
     [1 of 1] Compiling Main             ( norm.hs, norm.o )
     Linking norm ...

     ---------------------------
     chad at chad-desktop:~$ /usr/bin/time ./norm
     ^CCommand terminated by signal 2
     21.68user 2.72system 0:24.51elapsed 99%CPU (0avgtext+0avgdata
 6370516maxresident)k
     0inputs+0outputs (0major+1592762minor)pagefaults 0swaps

     ---------------------------
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7954>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list