Explicit calls to the garbage collector.
Simon Marlow
marlowsd at gmail.com
Tue May 8 12:27:25 CEST 2012
On 07/05/2012 14:33, Jurriaan Hage wrote:
> LS.
>
> I have a very memory intensive application. It seems that the timing of my application
> depend very much on the precise setting of -H...M in the runtime system (-H2000M
> seems to work best, computation time becomes a third of what I get when I pass no
> -H option). I conjecture that this good behaviour is the result of gc happening at the right time.
> So I wondered: if I can one when is the right time, is it possible then to trigger
> GC explicitly from within the Haskell code?
It is more likely that you are trading extra memory for better
performance, rather than triggering the GC at a good time. GC is
basically a space/time tradeoff, see:
http://stackoverflow.com/questions/3171922/ghcs-rts-options-for-garbage-collection/3172704#3172704
If you think the program has points where residency is very low and it
would be good to trigger a GC, I would first confirm the hypothesis by
doing a heap profile. GC can be triggered with System.Mem.performGC.
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list