On 2/21/08, Eliot Miranda <eliotm / pacbell.net> wrote:

> I meant that most algorithms identify non-garbage, leaving garbage to be
>  found implicitly (e.g. the space left behind after a scavenging/copying
>  GC).  Only ref counting explicitly identifies garbage, and proves to be
>  expensive since in OO languages most objects die young.

Yes, and it also suffers from two facts that make it perform
sub-optimally on a virtual memory system (i.e. just about any system
these days)

1) It fails to compact the live objects
2) It pretty much is guaranteed to visit every memory page at least
twice per GC cycle.

This tends to lead to large working sets and the attendant swapping.

-- 
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/