On Sun, Nov 28, 2010 at 4:29 PM, Benedikt Meurer < benedikt.meurer@googlemail.com> wrote: > Speaking of the OCaml GC in general, wouldn't it make sense to replace the > current generational collector with a collector framework that requires less > copying in the common case. For example, dividing the heap into two parts, > "large object space" and "small object space", where LOS is managed by > mark-sweep/mark-compact (could use the current major heap) and SOS is > managed by a recent mark-copy/mark-region collector (Immix [1] comes to mind > here). That way objects would no longer need to be copied between > generations, and using Immix may also reduce cache misses and improve > locality of small/medium sized objects (with proper evacuation heuristics). > This should be doable with a moderate amount of work, and should require no > incompatible changes, while opening the door for concurrent/parallel garbage > collection (this would require incompatible changes then, replacing > caml_young_ptr/caml_young_limit with TLS vars, etc.). > > Benedikt > > [1] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.144.3640 > I was suggesting dealing with small fixed-size objects differently in another post. This doesn't sound like a bad combination, nice idea :) Best, -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct