General Problems for GC'ed Applications?

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Thu Jul 27 13:47:29 PDT 2006


Sean Kelly wrote:
> By the way, there's no reason that even a full collect must swap all 0.8 
> GB back in.  Some GCs use an alternate approach where pages are scanned 
> and marked stale when the VMM swaps them to disk, so no page faults 
> occur on collection runs.

I only know of one such collector, and it required a specially patched 
(Linux) kernel that notifies a process before it swaps its pages to disk 
and allows it to specify which pages to swap (since it touches the pages 
on receiving the swap warning, which for a normal LRU-like scheme stops 
it from being swapped).

So the reason a full collect must swap all 0.8 GB back in might be the 
absence of such a patched kernel, for one :). (I wouldn't want to 
require a user to patching his OS just to run my GC-ed program)

Also, that particular GC would sometimes do an actual full collect of 
the memory, since otherwise swapped-out garbage might never be collected.



More information about the Digitalmars-d mailing list