In message <7xmxs2uez1....@ruckus.brouhaha.com>, Paul Rubin wrote: > Lawrence D'Oliveiro <l...@geek-central.gen.new_zealand> writes: > >> Whereas garbage collection will happen at some indeterminate time long >> after the last access to the object, when it very likely will no longer >> be in the cache, and have to be brought back in just to be freed, > > GC's for large systems generally don't free (or even examine) individual > garbage objects. They copy the live objects to a new contiguous heap > without ever touching the garbage, and then they release the old heap.
And suddenly you’ve doubled the memory requirements. And on top of that, since you’re moving the valid objects into different memory, you’re forcing cache misses on all of them as well. This is the continuing problem with garbage collection: all the attempts to make it cheaper just end up moving the costs somewhere else. -- http://mail.python.org/mailman/listinfo/python-list