[darcs-users] Current Pull Attempting to Overallocate

David Roundy droundy at jdj5.mit.edu
Thu Jan 29 12:54:38 UTC 2004


On Wed, Jan 28, 2004 at 02:12:01PM -0800, John Meacham wrote:
> 
> hmm? why would it matter if the memory was allocated near or far from
> the ghc heap? nowadays memory is allocated via mmap, so can be placed
> anywhere and freed back to the system in non-contiguous chunks.

Well, the ghc allocation involves a contiguous heap, and when it runs out
of space it increases the ghc heap size.  So I don't want to get my memory
stuck inside the ghc heap, or the ghc heap will get bigger than needed,
which can have very unpleasant results, since it doesn't trigger a gc
(normally) until it fills up its heap, so if the heap is bigger than your
physical mem, you've got very serious swapping problems that don't go away
until darcs exits, regardless of your memory usage.  At least, this is my
understanding of how it works.  And the ugly tricks *do* give massive
performance benefits when running darcs check on a large repository
(i.e. one that is big enough that the peak memory usage involves
swapping).
-- 
David Roundy
http://civet.berkeley.edu/droundy/




More information about the darcs-users mailing list