Re: ARC vs Manual Reference Counting

2013-09-13 Thread John McCall
On Sep 13, 2013, at 11:51 AM, Paul Scott 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 everyt

Re: ARC vs Manual Reference Counting

2013-09-13 Thread John McCall
On Sep 13, 2013, at 3:04 AM, Marcel Weiher wrote: > On Sep 11, 2013, at 10:38 , John McCall wrote: >>> [inline reference counts] >> >> >> Right. ARC doesn’t replace the benefit of having an inline reference count. >> I think if we could magically bless all objects with an inline reference >

Re: ARC vs Manual Reference Counting

2013-09-13 Thread Paul Scott
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%

Re: ARC vs Manual Reference Counting

2013-09-13 Thread Marcel Weiher
On Sep 11, 2013, at 10:38 , John McCall wrote: >> [reduced need for Café Macs dinner tickets] > > Fortunately. :) But you do know where to get them anyway…? ;-) >> [inline reference counts] > > > Right. ARC doesn’t replace the benefit of having an inline reference count. > I think if we c

Re: ARC vs Manual Reference Counting

2013-09-12 Thread Dave
On 11 Sep 2013, at 19:59, Louis Gerbarg wrote: > > The world is a very different place than it was then, in the 80s RAM was a > lot faster relative to the CPU. There is absolutely no way something like you > describe today could be done today, most deeply pipelined OoOE CPUs can > barely for

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Louis Gerbarg
On Wed, Sep 11, 2013 at 6:58 AM, Dave wrote: > > On 11 Sep 2013, at 05:04, Jens Alfke wrote: > > > > > On Sep 10, 2013, at 12:33 PM, Dave wrote: > > > >> You with all this talk of memory management, you'd think that Apple (or > someone) would have come up with a hardware solution for this by no

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Andy Lee
On Sep 11, 2013, at 6:37 AM, Jean-Daniel Dupas wrote: >>> and that while in most code those would be lost in the noise, in some cases >>> people would need to help ARC out with things like __unsafe_unretained. >> >> Hmm…I always thought that __unsafe_unretained was for instance variables, >> bu

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Jean-Daniel Dupas
ARC is a combination of compiler and runtime technologie. The compiler generates call to the runtime, so if you see a lot of ARC specific calls in the profiler, you can know if the impact is due to ARC or not. http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime-support Le 11 sep

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Dave
On 11 Sep 2013, at 11:37, Jean-Daniel Dupas wrote: > > Yes. it works to disable ARC for arguments and other local variables. I > managed to reduce the ARC impact a little further by applying it to some > arguments in hot paths. > > > -- Jean-Daniel I would have thought that you would get m

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Dave
On 11 Sep 2013, at 05:04, Jens Alfke wrote: > > On Sep 10, 2013, at 12:33 PM, Dave wrote: > >> You with all this talk of memory management, you'd think that Apple (or >> someone) would have come up with a hardware solution for this by now. In the >> 70's and 80's I worked on some firmware a

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Jean-Daniel Dupas
Le 11 sept. 2013 à 09:03, Marcel Weiher a écrit : > Hi John! > > On Sep 10, 2013, at 19:26 , John McCall wrote: > >> On Sep 9, 2013, at 4:15 AM, Marcel Weiher wrote: >>> [Optimizations in ARC are there to mitigate pessimizations] >> >> For what it’s worth, the autorelease optimization was p

Re: ARC vs Manual Reference Counting

2013-09-11 Thread John McCall
On Sep 11, 2013, at 12:03 AM, Marcel Weiher wrote: > On Sep 10, 2013, at 19:26 , John McCall wrote: >> On Sep 9, 2013, at 4:15 AM, Marcel Weiher wrote: >>> [Optimizations in ARC are there to mitigate pessimizations] >> >> For what it’s worth, the autorelease optimization was planned; the >> pe

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Marcel Weiher
Hi John! On Sep 10, 2013, at 19:26 , John McCall wrote: > On Sep 9, 2013, at 4:15 AM, Marcel Weiher wrote: >> [Optimizations in ARC are there to mitigate pessimizations] > > For what it’s worth, the autorelease optimization was planned; the > performance problem it solves was extremely predic

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
On 9 Sep 2013, at 11:15, Kevin Meaney wrote: > > On 9 Sep 2013, at 10:33, Tom Davie wrote: >> >> Yes, it does. If you’d like an example to verify this behaviour with, play >> with converting https://github.com/beelsebob/CoreParse to ARC, and profiling >> the result. This is the example th

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Jens Alfke
On Sep 10, 2013, at 12:33 PM, Dave wrote: > You with all this talk of memory management, you'd think that Apple (or > someone) would have come up with a hardware solution for this by now. In the > 70's and 80's I worked on some firmware and hardware that would handle > garbage collection in r

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
On 9 Sep 2013, at 09:49, Marcel Weiher wrote: > > The pattern I adopted long ago to avoid that sort of situation is to have an > instance variable for my temps, in which case the code becomes: > > [self setTemp:newObject]; > … do stuff … > [self setTemp:nil]; > > or if you p

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
Hi, I think that's problem with it and a lot of other things too! Once you get out of the habit of thinking about memory management, you forget how to do it! How many people can do long multiplication or division on paper these days?? I started to do it the other day and had to really think to

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Ken Thomases
On Sep 9, 2013, at 3:49 AM, Marcel Weiher wrote: > The pattern I adopted long ago to avoid that sort of situation is to have an > instance variable for my temps, in which case the code becomes: > > [self setTemp:newObject]; > … do stuff … > [self setTemp:nil]; > > or if you pr

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
Hi, You with all this talk of memory management, you'd think that Apple (or someone) would have come up with a hardware solution for this by now. In the 70's and 80's I worked on some firmware and hardware that would handle garbage collection in real time (with a little help from OS Software).

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Marcel Weiher
On Sep 10, 2013, at 21:52 , Ken Thomases wrote: > On Sep 9, 2013, at 3:49 AM, Marcel Weiher wrote: > >> The pattern I adopted long ago to avoid that sort of situation is to have an >> instance variable for my temps, in which case the code becomes: >> >> [self setTemp:newObject]; >>

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Alex Zavatone
On Sep 10, 2013, at 2:11 PM, Dave wrote: > > On 9 Sep 2013, at 09:30, Kevin Meaney wrote: > >> I don't know what it is like to convert an old project, but I would >> recommend ARC for new projects and I believe the time investment is >> worthwhile. >> >> Kevin >> > > If the project is of

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
On 9 Sep 2013, at 09:30, Kevin Meaney wrote: > I don't know what it is like to convert an old project, but I would recommend > ARC for new projects and I believe the time investment is worthwhile. > > Kevin > If the project is of any size it's the pits! It's not worthing doing unless the Pr

Re: ARC vs Manual Reference Counting

2013-09-10 Thread John McCall
On Sep 9, 2013, at 4:15 AM, Marcel Weiher wrote: > On Sep 9, 2013, at 11:33 , Tom Davie wrote: >>> On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: >>> >>> And does the profiler explicitly shows that ARC runtime code is the culprit >>> ? >> >> Yes, it does. > > Isn’t it strange how when so

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Greg Parker
On Sep 9, 2013, at 3:45 PM, Patrick Cusack wrote: > I appreciate everyone's replies. It was a question asked in complete > humility. I agree that computers can do analysis much better than humans and > that the less code you write, the less you have to debug, so ARC makes a lot > of sense. My q

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Patrick Cusack
I appreciate everyone's replies. It was a question asked in complete humility. I agree that computers can do analysis much better than humans and that the less code you write, the less you have to debug, so ARC makes a lot of sense. My question really stemmed from Apple's WWDC lecture which appe

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Alex Zavatone
On Sep 9, 2013, at 3:58 AM, Tom Davie wrote: > > On 9 Sep 2013, at 09:44, Kyle Sluder wrote: > >> Thirded. I thought I wouldn't like it. As soon as I didn't have to manage >> retains and releases of temporary objects, the discipline completely left my >> mind. Now whenever I go back to non-A

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 11:54, Tom Davie a écrit : > > On 9 Sep 2013, at 11:49, Jean-Daniel Dupas wrote: > >> >> Le 9 sept. 2013 à 11:33, Tom Davie a écrit : >> >>> >>> On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: >>> Le 9 sept. 2013 à 09:58, Tom Davie a écrit : >

Re: ARC vs Manual Reference Counting

2013-09-09 Thread James Montgomerie
When performance testing ARC code, remember to test in a release configuration, with compiler optimisations on. In my experience, it can really make a big difference; a lot of 'spurious' retain/release pairs are optimised away, and many objects are released earlier. Jamie. On 9 Sep 2013, at 11

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Marcel Weiher
On Sep 9, 2013, at 11:33 , Tom Davie wrote: >> On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: >> >> And does the profiler explicitly shows that ARC runtime code is the culprit >> ? > > Yes, it does. Isn’t it strange how when someone says “oh, and ARC is faster”, without measurements, t

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Kevin Meaney
On 9 Sep 2013, at 10:33, Tom Davie wrote: > > Yes, it does. If you’d like an example to verify this behaviour with, play > with converting https://github.com/beelsebob/CoreParse to ARC, and profiling > the result. This is the example that showed 100% slowdown initially. The > last time I t

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Alex Zavatone
On Sep 9, 2013, at 1:43 AM, Patrick Cusack wrote: > Apologies. I have no desire to start an internecine war. I have been reading > up on ARC for the past few hours. I also watched the WWDC video on ARC, and > after having watched and read everything, I kept feeling as if I was rather > comfort

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 11:49, Jean-Daniel Dupas wrote: > > Le 9 sept. 2013 à 11:33, Tom Davie a écrit : > >> >> On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: >> >>> >>> Le 9 sept. 2013 à 09:58, Tom Davie a écrit : >>> On 9 Sep 2013, at 09:44, Kyle Sluder wrote: > Th

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 11:33, Tom Davie a écrit : > > On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: > >> >> Le 9 sept. 2013 à 09:58, Tom Davie a écrit : >> >>> >>> On 9 Sep 2013, at 09:44, Kyle Sluder wrote: >>> Thirded. I thought I wouldn't like it. As soon as I didn't have to mana

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 10:18, Jean-Daniel Dupas wrote: > > Le 9 sept. 2013 à 09:58, Tom Davie a écrit : > >> >> On 9 Sep 2013, at 09:44, Kyle Sluder wrote: >> >>> Thirded. I thought I wouldn't like it. As soon as I didn't have to manage >>> retains and releases of temporary objects, the discip

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Graham Cox
On 09/09/2013, at 10:49 AM, Marcel Weiher wrote: > I thought I would LOVE it, and when I actually used it was “meh”. Not just > the additional rules/complexity when dealing with the C side of things (which > I do quite a bit), but more importantly it just didn’t make any difference on > the

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Marcel Weiher
On Sep 9, 2013, at 9:44 , Kyle Sluder wrote: > Thirded. Countered. :-) > I thought I wouldn't like it. I thought I would LOVE it, and when I actually used it was “meh”. Not just the additional rules/complexity when dealing with the C side of things (which I do quite a bit), but more import

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Pax
It's something new to learn, but in order to stay current there will always be something new. I'm just porting my software to ARC, and whilst there are one or two gotchas (oversights on my part, leading to leakage), I'm finding it to be an excellent idea. Using ARC (in my experience) leads to

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Kevin Meaney
As someone who considered garbage collection and decided against it and stayed with manual retain and release at that time. I got along reasonably well with manual retain and release. I have happily moved to ARC for a new project. I spent at least a few days getting my head wrapped around the us

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 09:58, Tom Davie a écrit : > > On 9 Sep 2013, at 09:44, Kyle Sluder wrote: > >> Thirded. I thought I wouldn't like it. As soon as I didn't have to manage >> retains and releases of temporary objects, the discipline completely left my >> mind. Now whenever I go back to non-

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 09:44, Kyle Sluder wrote: > Thirded. I thought I wouldn't like it. As soon as I didn't have to manage > retains and releases of temporary objects, the discipline completely left my > mind. Now whenever I go back to non-ARC code I invariably make a ton of > memory management

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Kyle Sluder
Thirded. I thought I wouldn't like it. As soon as I didn't have to manage retains and releases of temporary objects, the discipline completely left my mind. Now whenever I go back to non-ARC code I invariably make a ton of memory management errors, most of which are caught by the analyzer. --Ky

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Alex Kac
Bingo. We’ve been working with Cocoa/Obj-C for many years, and still we’d find weird errors that would be caused by some over-released object. We cut a ton of code with ARC, and in the end we saw reliability go up and actually even some performance. ARC is a win. The only place it really got a

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Jens Alfke
On Sep 8, 2013, at 10:43 PM, Patrick Cusack wrote: > Apologies. I have no desire to start an internecine war. I have been reading > up on ARC for the past few hours. I also watched the WWDC video on ARC As with anything complex, it’ll take more than a few hours of reading/watching to get comf

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Patrick Cusack
Apologies. I have no desire to start an internecine war. I have been reading up on ARC for the past few hours. I also watched the WWDC video on ARC, and after having watched and read everything, I kept feeling as if I was rather comfortable with the old manual memory model. I guess my real ques

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Paul Scott
Yes. I do. Absolutely. Sent from my iPad On Sep 8, 2013, at 9:41 PM, livinginlosange...@mac.com wrote: > Would anyone agree me that ARC introduces more rules and considerations than > previously existed with manual reference counting? ___ Cocoa-dev

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Alex Kac
Converting to ARC in some ways - depends. On the whole we’re finding positives with it. Writing new apps with it its superb. On September 8, 2013 at 10:44:41 PM, livinginlosange...@mac.com (livinginlosange...@mac.com) wrote: Would anyone agree me that ARC introduces more rules and consideration

ARC vs Manual Reference Counting

2013-09-08 Thread livinginlosangeles
Would anyone agree me that ARC introduces more rules and considerations than previously existed with manual reference counting? On Sep 8, 2013, at 12:00 PM, cocoa-dev-requ...@lists.apple.com wrote: > Send Cocoa-dev mailing list submissions to > cocoa-dev@lists.apple.com > > To subscribe