From: Yukihiro Matsumoto Date: 2008-02-22T05:51:28+09:00 Subject: Re: GC error ? Hi, In message "Re: GC error ?" on Fri, 22 Feb 2008 05:17:03 +0900, "Rick DeNatale" writes: |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. Indeed, we need two visits (one write to mark live objects/one read to sweep dead objects) per GC. But using bitmap marking technique[1], objects visit can be reduced to one. [1] http://izumi.plan99.net/blog/index.php/2008/01/14/making-ruby%e2%80%99s-garbage-collector-copy-on-write-friendly-part-7/ There's an algorithm named "mostly copying GC" to address the former "fact", but it is too complex for us to implement. matz.