Opened 10 years ago

Closed 10 years ago

#3796 closed merge (fixed)

GHC 6.12 dependency checking many times slower than 6.10

Reported by: sunrayser Owned by: igloo
Priority: high Milestone: 6.12.2
Component: Compiler Version: 6.12.1
Keywords: Cc:
Operating System: Linux Architecture: x86
Type of failure: Compile-time performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description (last modified by igloo)

Get feldspar-language-0.1 from hackage and build it:


"cabal configure; cabal cuild; time cabal build"

real    0m24.316s
user    0m24.063s
sys     0m0.159s

real    0m2.252s
user    0m2.021s
sys     0m0.231s

"time cabal build" with 6.10 after "cabal build"-ing it with 6.12 (ie no "rm -rf dist" before building with 6.10)
real    0m24.304s
user    0m24.094s
sys     0m0.139s

The last one is especially strange.

Change History (5)

comment:1 Changed 10 years ago by igloo

Description: modified (diff)

comment:2 Changed 10 years ago by simonmar

Milestone: 6.12.2
Owner: set to simonmar
Priority: normalhigh

comment:3 Changed 10 years ago by simonpj

Simon's looked into this:

Thu Dec 31 16:46:51 GMT 2009  Simon Marlow <>
  * Rolling back: Make FastString thread-safe.
  Ignore-this: 8f21b256b0c86d167f8f6984d2b27a87
  This patch was the cause of the compile-time performance regression in
  #3796.  My guess is that it is due to the use of unsafePerformIO which
  traverses the stack up to the first update frame, and perhaps we have
  a deep stack when reading the dictionary from a .hi file.  In any
  case, since we're not relying on thread safety for FastStrings, I
  think the safest thing to do is back this out until we can investigate

I'm not sure if we can close the ticket. Simon?


comment:4 Changed 10 years ago by simonmar

Owner: changed from simonmar to igloo
Type: bugmerge

comment:5 Changed 10 years ago by igloo

Resolution: fixed
Status: newclosed


Note: See TracTickets for help on using tickets.