On Mon, Dec 08, 2003 at 01:45:30PM -0000, Simon Marlow wrote:
On Sat, Nov 29, 2003 at 11:10:57AM -0500, Wojtek Moczydlowski wrote:
(though it still bothers me that I don't have an answer yet to the memory leak I posted some time ago)
If you are talking about StateT space leak, then I think I have given you an answer. My guess was that it is a CAF leak.
GHC doesn't have CAF leaks. Next guess :-)
Even in unoptimized, byte-code compiled code? Take this module: module A where t :: IO () t = sequence_ (repeat (return ())) If I :load it into ghci as interpreted, or if I compile it without optimisation options, and I run t, then the process grows, and grows, and grows, ... Of course, when I first compile it with -O2 option then it runs in constant space. When I compiled Wojtek's code with -O2, the problem disappeared, so I guess he was loading the module without compiling it with -O2 first. Shouldn't you rather say: GHC doesn't have CAF leaks in code compiled with [insert the relevand optimisation option here] option? Case closed! Or I am still wrong?
Cheers, Simon
Best regards, Tom -- .signature: Too many levels of symbolic links