Neil Mitchell wrote:
Hi Simon

One thing to check is heap usage and GC time. Does GC time, or residency (both reported by -Sstderr) go up a lot? It's possible that an optimisation is changing space behaviour for the worse.

I've attached the logs for both -O0 (norm) and -O1 (opt), it appears
that there are 4 times more garbage collections with -O1, so thats
likely to be it.

Does it still happen if you use profiling? If so, the profile should narrow down the culprit a lot. That might avoid the need to reproduce it elsewhere.

Profiling with -O1 is faster than -O1 and -O0, so turning on profiling
fixes whatever is going wrong.

The darcs repo for the code is at:

http://www.cs.york.ac.uk/fp/darcs/catch/

This is the catch_1 directory. Unfortunately it will be a nightmare to build...

There are two things that I know of that can cause this. The first is the bug that affects calendar from nofib:

  http://hackage.haskell.org/trac/ghc/ticket/1168

and the second is full-laziness, which can give your program a space leak if you compile with -O. You'll be able to tell if it's a space leak problem by looking at the "+RTS -sstderr" output and checking the GC time.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to