GC trouble [was Re: Binary IO]
Simon Marlow
simonmar at microsoft.com
Sat Apr 23 17:55:41 EDT 2005
On 23 April 2005 20:12, Jan-Willem Maessen wrote:
> Hmm; this sounds like a lot of full-heap collections, which is exactly
> what generational GC is trying to avoid. A very large old generation
> (like, say, 500+Mb) might help a lot in this instance; I have no idea
> how GHC decides generation sizes. It might also help to set a very
> large allocation area to reduce promotion rate to the second
> generation, and give the gobs of transient data some time to die---or,
> similarly, to increase the number of generations to increase the time
> it takes things to get to the old generation. Fundamentally, though,
> when you run really close to your memory limits GC tends to be
> unhappy.
For a program with this much data, GHC's default allocation area size of
256k is pretty small. In fact, it's pretty small full stop - I recently
bumped it to 512k. I suggest trying -A1m at least.
I'd be interested to know whether you get better results by tweaking any
of the other GC settings: more generatsions and more steps in
particular.
Cheers,
Simon
More information about the Libraries
mailing list