[Haskell-cafe] Space leaks
Peter Gavin
pgavin at gmail.com
Thu Jul 17 14:14:02 EDT 2008
Hello everyone,
I have this piece of code I've been working on, and I've been stuck on
tracking down a space leak in it for some time now. The code is
essentially a tight loop that updates a rather largish data structure
with embedded functions that are called by the driver loop. The code
doesn't accumulate any data as the loop runs (at least deliberately), so
I would expect the memory profile to be flat. Unfortunately, the
profile is a wedge :) I've added bangs and `seq` literally everywhere,
and it looks (to me at least) like there's nothing left to be lazily
evaluated anywhere. I've used retainer profiling, and the functions
that are leaking space according to the profiler output are strict
throughout.
I'm really pulling my hair out over this, but I'm reluctant to publish
the code just yet because I'm planning on using it (eventually) for my
thesis. It seems like I've just about run out of options, though.
Does anyone have any advice on tracking down space leaks? I don't want
to accuse GHC of having a bug just yet, but has GHC had space leak bugs
in the past?
Thanks in advance,
Peter Gavin
<gavin at cs.fsu.edu>
More information about the Haskell-Cafe
mailing list