[coyotos-dev] Ouch

Haplo starfirex at comcast.net
Sun Dec 3 19:00:02 CST 2006


Yikes, so I just learned about the garbage collection system they're  
implementing in OSX leopard for obj-C 2.0. Just.. ouch. The GC will  
now require objects to be copied whenever they're passed into a  
function (since they're dropping reference counting), uses the  
expensive and complex process of uninformed GC, and doesn't compact  
the heap so that allocation will be as expensive as it is in C++  
(which involves scrolling the heap and finding a big enough open slot  
for the new object. This has horrible worst-case performance and is  
almost guaranteed to have a bad average performance). I don't know  
what they were thinking when they decided upon this, but now in  
addition to allocation being expensive, deallocation will be  
expensive too, and most all object usage will be appreciably more  
expensive. Was [object retain]/[object release] really all that hard?


More information about the coyotos-dev mailing list