[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