Hello Jeff, JM> Of course the probability of such a collision is small, but it doesn't JM> hurt to know it is there. For long-running daemons using many objects JM> and/or ruby C code using lots of stack space it may possibly be JM> something to consider, though I haven't looked at the numbers yet. Arachno Ruby as a larger program is using the Boehm Weisser GC. That does not only consider all elements on the stack but also everything in the heap as possible pointers, so there are many things that can be wrongly considered as a still in use data. But this seems to be not the problem, when i compare it with the exact SmartEiffel Internal GC, the overhead in non released data seems to be around 20%. The much more serious problem in the Boehm Weisser GC is the high internal heap fragmentation it seems to get stable after having 5 times the dataset size, from previous posts here i believe that the ruby GC is working well. So if we ever change the internal memory managment (i guess we do not) in ruby, then i hope it will also include a compacting GC. In the meantime a lazy mark with write barrier and lazy sweep would be a good thing to add. I found that the GC can give you a huge time penalty because it simply runs to often and there is no way to customize this. -- Best regards, emailto: scholz at scriptolutions dot com Lothar Scholz http://www.ruby-ide.com CTO Scriptolutions Ruby, PHP, Python IDE 's