2

I'm wondering what people's experiences have been converting projects from MRC (manual reference counting) to ARC (automatic reference counting) with regard to performance and memory usage.

I'm interested primarily in medium/large projects and quantified/profiled results in multiple domains (time, memory, etc), rather than small programs and 'sensed' changes.

I've played around with it in small test cases, and I saw some interesting differences, but I've certainly not migrated full/complex programs at this time.

I'm also curious to hear how much effort you made to minimize memory usage/reference count operations when the converted program was initially developed using MRC: e.g., did you create autorelease pools in the right places? did you favor autorelease on creation, or releasing in the following statement? did you measure and improve memory usage often? I ask because one developer's approach from another's can make a significant difference in the results.

Cheers

justin
  • 104,054
  • 14
  • 179
  • 226
  • One thing that annoys me: No toll-free bridge casting. That is why I don't use ARC. – Alex Zielenski Nov 13 '11 at 13:32
  • 1
    @Alex Zielenski they allow you to write: `CFStringRef cf = CFSTR(""); NSString * ns = (__bridge NSString*)cf; CFStringRef andBack = (__bridge CFStringRef)ns;` -- or were you referring to something else? – justin Nov 13 '11 at 14:53
  • i recently did some profiling and a write-up, available here: http://stackoverflow.com/questions/588866/atomic-vs-nonatomic-properties/12017579#12017579 – justin Aug 23 '12 at 05:15

0 Answers0