Hello Ben,

>> We came up with a "minimal" example that at least is self contained and
>> triggers the problem; `runghc Minimal.hs` should finish with about 5GB of 
>> RAM.
>>
> Hmm, with 8.2 I'm seeing a peak memory usage of 3.5 GB, with that peak
> occurring during renaming, not desugaring (when exhaustiveness checking
> happens). Are you certain that the exhaustiveness checker is the
> responsible party?

Not at all! In fact, I ran some comparisons with "-ddump-phases" and
plotted those.
I'm attaching the graphs here. From base to "added E" we added 16 more
pattern matches,
then each "added" phase is an additional 16 pattern matches. The
simplifier stands out there.

I couldn't run a bigger case as I had hit the ceiling of my machine.

Cheers,
Victor
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to