Interesting. I also did an implementation of a fixed heap size (with a sorted set of heaps, as you did), but without the tuning of GC frequency you did. I had the same kind of results: almost no performance hit, mean heap size reduced. You can find my implementation in the "gc_fixed_heaps" branch of http://www.laas.fr/~sjoyeux/ruby-1.8.6-git -- Sylvain Joyeux