From: Marc Haisenko Date: 2008-01-09T18:06:48+09:00 Subject: Re: Manual Memory Management On Wednesday 09 January 2008, Kurt Stephens wrote: > AFIAK, Sun's JVM implementation is not mark-sweep, it is a copying > collector with indirection handles to support C extensions. Mark-sweep > is an architectural dead-end for long-running processes, because of > fragmentation. Consider that the biggest draw to Ruby is Rails. IIRC Java uses a generational GC. Wastes a little more space than a pure copying-compactor (but way less than a semi-space GC), is a bit complex but is very fast: most of the time you only need to inspect the youngest generation and don't need to follow pointers to older objects as they are long-lived and thus unlikely to have to be collected. Thus this type of GC makes use of the fact that young objects tend to be dying quickly. I guess especially for languages like Ruby this is good idea: in Ruby we often create intermediate objects that get immediately thrown away. -- Marc Haisenko Comdasys AG R��desheimer Str. 7 80686 M��nchen Germany Tel.: +49 (0)89 548 433 321