Opened 4 years ago

Last modified 4 years ago

#9979 new bug

Performance regression GHC 7.8.4 to GHC HEAD

Reported by: alanz Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.11
Keywords: regression Cc: hvr
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Compile-time performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

Testing with HEAD 023439980f6ef6ec051f676279ed2be5f031efe6

Baseline: GHC 7.8.4

ghc-config 7.8.4
cabal unpack haskell-src-exts
cd haskell-src-exts-1.16.0.1/
cabal install --dependencies-only
time (cabal clean && cabal build)

real	2m38.696s
user	5m17.256s
sys	3m44.732s

Test : GHC HEAD

ghc-config 7.11.20150112

cabal install --dependencies-only
time (cabal clean && cabal build)

real	3m35.027s
user	6m45.664s
sys	5m15.220s

Change History (3)

comment:1 Changed 4 years ago by simonpj

It would be helpful if someone felt able to characterise this more. For example:

  • Do the two invocations of cabal install compile exactly the same number of modules, each containing exactly the same code?
  • Which modules take longer to compile? Or does everything take a little longer?

Thanks

Simon

comment:2 Changed 4 years ago by hvr

Maybe another example to investigate is cabal install attoparsec, which went from 30 secs on GHC 7.4 to 90 secs on GHC 7.10:

attoparsec-0.10.4.0	GHC-7.10.0.20141227 text-1.2.0.4 # 92668ms
attoparsec-0.10.4.0	GHC-7.8.4	    text-1.2.0.4 # 65736ms
attoparsec-0.10.4.0	GHC-7.6.3	    text-1.2.0.4 # 27520ms
attoparsec-0.10.4.0	GHC-7.4.2	    text-1.2.0.4 # 31303ms

PS: the numbers above may be a bit distorted; I just re-timed a reinstall of only attoparsec-0.10.4.0:

attoparsec-0.10.4.0	GHC-7.10.0.20141227 # 29s
attoparsec-0.10.4.0 	GHC-7.8.4	    # 26s
attoparsec-0.10.4.0	GHC-7.6.3	    # 13s
attoparsec-0.10.4.0	GHC-7.4.2	    # 14s
Last edited 4 years ago by hvr (previous) (diff)

comment:3 Changed 4 years ago by thomie

Type of failure: None/UnknownCompile-time performance bug
Note: See TracTickets for help on using tickets.