Re: ARC vs Manual Reference Counting
Re: ARC vs Manual Reference Counting
- Subject: Re: ARC vs Manual Reference Counting
- From: John McCall <email@hidden>
- Date: Fri, 13 Sep 2013 13:22:18 -0700
On Sep 13, 2013, at 11:51 AM, Paul Scott <email@hidden> wrote:
>>> The joys of a nice skewed profile. Ahhh…. :-) Of course, the ones you don’t notice, the flat profiles, are in some ways more insidious, as they drag everything down just a bit. Along with all the other things that drag everything down a bit, and soon enough you have something that’s 10% or 2x or 10x slower than it needs to be and no obvious culprits.
>> Yes, this is definitely a problem, and an unsolvable one at that.
>
> Not necessarily. Recently, on IBM z/Architecture platform, some JNI code I wrote ended up showing a bunch of unremarkable flat profiles when captured with hardware instrumentation at various intervals. Looking for any possible performance improvements, I examined the code associated with each unremarkable profile, and found some routines that were being called unnecessarily (returned after a quick condition check); when the logic was changed so as to avoid the checks (which was quite unobviously called from a loop) there was a 40% improvement in CPU performance. You might be surprised what you can find by looking at those flat profiles.
Sorry, I did not mean that analyzing flat profiles is generally unsolvable, just that when the overhead imposed by ARC is evenly distributed across many call sites, there isn’t an obvious way for a user to recover that performance.
John.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden