On May 4, 2011, at 6:03 AM, Joao Manuel Da Silva Neves wrote: > Apple's documentation states: "The process of migrating a large project that > uses reference counting can be difficult and error-prone—some patterns that > work correctly with manual memory management will be incorrect after > translation. In general, it is recommended that you use garbage collection > only in new projects. If you already have a well-architected, well-understood > application that uses reference counting, there should be little reason to > migrate to GC" > > Unfortunately we have a large project (think Apple's Aperture) that we're > considering for migration to GC in order to reduce memory crashers and > simplify memory management in the future. > Has anyone tried converting a large project to GC? If YES was it successful > and worth it? What were the main issues encountered during the conversion?
(Please don't post to multiple lists.) Xcode converted to GC a few years ago. Good: * Lots and lots of crashes simply went away. * Complex data structures and workflows were greatly simplified when they didn't need to worry about retain cycles. Bad: * Finding and fixing the many small GC-unsafe patterns is hard. (For example, uses of non-retaining CoreFoundation containers.) * Rearchitecting larger GC-incompatible designs is hard. (For example, saving changes to a file upon last release.) * If you are the first GC client of some system framework, you may find GC bugs in that framework. (This is less common now than when Xcode adopted GC.) * Interoperating with C++ or CoreFoundation is hard. * Any existing plug-ins will not be GC-compatible. -- Greg Parker gpar...@apple.com Runtime Wrangler _______________________________________________ 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