Simon Peyton Jones
simonpj at microsoft.com
Thu Dec 6 10:09:47 UTC 2018
Simon, Ben, Omer
As you'll see in comments 55-72 of https://ghc.haskell.org/trac/ghc/ticket/9476, Sebastian has been a bit flummoxed by the task of measure residency profiles; that is, how much data is truly live during execution.
A major GC measures that, but we are vulnerable to exactly when it happens (even with -G1) and that can lead to irreproducible results.
I think what we want is a way to trigger GC at very regular intervals, after (say) each 10kbytes or 100kbytes or 1Mbyte of allocation. That might be expensive, but we'd get reproducible results.
I don't think that is possible right now - see the ticket - but it would be easy enough to do wouldn't it? Just give only 10k or 100k or 1M to the allocator when setting it running again.
Would you consider this? Or are we just missing something obvious?
Needless to say, we want to do all this with full optimisation on, no cost-centre profiling.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ghc-devs