Memory usage exploding for complex pattern matching

Ben Gamari ben at
Fri Mar 30 15:23:55 UTC 2018

"Victor Miraldo (UU)" <v.cacciarimiraldo at> writes:

> Hello,
>>>>> I have just tried compiling my code with 8.4.2 and using
>>>>> -fmax-pmcheck-iterations=0,
>>>>> I gave GHC 12GB of ram and it still ran out (through `ulimit
>>>>> -v$((1024*1024*12))`).
>>>> Hmmm, I'm a bit confused. Why are our results so different? How
>>>> precisely are you invoking GHC?
>>> Here I meant my whole code, not just the repro. I could have been more clear.
>>> Nevertheless, I'm calling it through stack:
>> I'll admit that I am a bit lost; Minimal.hs compiles for me with a
>> maximum residency of ~3.5 GBytes with both -O1 and the PM check enabled
>> using GHC 8.4.1. Is this not the repro you are referring to?
> I get the same behavior as you for Minimal.hs.
> The "my code" above referred to the whole library that I'm developping.
> In fact, the Minimal.hs file contains a distilled version of that library with
> a template haskell splice that we are trying to use in one of our
> fully fledged examples.
Okay, I just wanted to be certain we were indeed seeing the same
behavior. Indeed 3.5 GB is quite a lot of memory for a 700 LoC program,
even one with the deep matches seen in Minimal.hs.


- Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <>

More information about the ghc-devs mailing list