Skip to content

Performance regression 7.0.1 -> 7.0.1.20110201

Submitted by Kazu Yamamoto on glasgow-haskell-users.

This program

import System.IO

n :: Int
n = 10000

main :: IO ()
main = withFile "/dev/null" WriteMode $ \h ->
    hPutStr h . foldr1 (++) . replicate n . replicate n $ 'a'

runs much more slowly with the current 7.0 branch than with either 7.0.1 or HEAD.

He also reported that the program runs faster interpreted with runghc than when compiled. I think this is due to #917 (full-laziness), so that's a separate issue. THe regression reported in this ticket is in compiled performance relative to 7.0.1 and HEAD.

I don't see any obvious differences in the simplified output, so the difference could be in library code. I'm using libraries compiled with -O2 in all cases.

Trac metadata
Trac field Value
Version 7.0.1
Type Bug
TypeOfFailure OtherFailure
Priority highest
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information