Hum, I'm sorry for not reposting my GC performance patch. I'm currently
trying to make improvements and document it.

My question is: why is it that there is a malloc_memories count, that not
only counts the sum of ruby_xmalloc bytes, but also the sum of
ruby_xrealloc bytes. Since ruby_xrealloc doesn't know what is the current
size of the resized structure, it just adds the new size to it, which can
precipitate a new GC cycle if lots of resizing is done. My biggest
concern, though, is that the GC operates on object cells, which are not
allocated with ruby_x*alloc procedures, but the malloc_memories system
relies exclusively on these. 

I thought I could replace the malloc_memories mechanism by a counter in
rb_newobj, similar to the one I added in my first (less-than-ideal) patch. 

What do you think?

matju