On Jun 25, 2009, at 9:20 PM, Rob Keniger wrote:
In single-core systems, even on the Mac, performance of Garbage Collected code is very poor because the collector has to share CPU time with the main thread. When Xcode 3 (a GC app) was first released in the Leopard betas there were still quite a few people with single-CPU PowerPC laptops who found that Xcode could barely keep up with their typing. On dual-core machines it was fine.

I won't comment on anything iPhone related regarding GC and I would ask that we keep the speculation off of the cocoa-dev list as it is off-topic and unproductive.

To the above; When Xcode was first released in the Leopard betas, Garbage Collection actually *didn't* run in a separate thread. That wasn't ready yet and it was far more critical to get Xcode up and running with GC on so as to shake out the entire system than it was to optimize GC.

Thus, you are correct that the initial seeds of Xcode were pretty darned slow, but they were pretty darned slow on multi-core systems, too! The were doubleplus slow on single core systems, though, more because of Xcodes use of thread and the lack of appropriate throttling than because of GC.

By the time Leopard shipped, the collector had become significantly more efficient and had been moved off to a separate thread. As well, Xcode had also been tuned, along with a bunch of system frameworks, and the overall performance was vastly improved.

Obviously, discussing details of Snow Leopard on cocoa-dev isn't yet possible. If you want to know more about Snow Leopard specific optimizations and have access, ask away in http://devforums.apple.com/.

b.bum

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to