Re: ARC vs Manual Reference Counting

2013-09-13 Thread Marcel Weiher
On Sep 11, 2013, at 10:38 , John McCall rjmcc...@apple.com 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

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

Re: ARC vs Manual Reference Counting

2013-09-13 Thread John McCall
On Sep 13, 2013, at 3:04 AM, Marcel Weiher marcel.wei...@gmail.com wrote: On Sep 11, 2013, at 10:38 , John McCall rjmcc...@apple.com 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

Re: ARC vs Manual Reference Counting

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

Re: ARC vs Manual Reference Counting

2013-09-12 Thread Dave
On 11 Sep 2013, at 19:59, Louis Gerbarg lgerb...@gmail.com 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

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Marcel Weiher
Hi John! On Sep 10, 2013, at 19:26 , John McCall rjmcc...@apple.com wrote: On Sep 9, 2013, at 4:15 AM, Marcel Weiher marcel.wei...@gmail.com wrote: [Optimizations in ARC are there to mitigate pessimizations] For what it’s worth, the autorelease optimization was planned; the performance

Re: ARC vs Manual Reference Counting

2013-09-11 Thread John McCall
On Sep 11, 2013, at 12:03 AM, Marcel Weiher marcel.wei...@gmail.com wrote: On Sep 10, 2013, at 19:26 , John McCall rjmcc...@apple.com wrote: On Sep 9, 2013, at 4:15 AM, Marcel Weiher marcel.wei...@gmail.com wrote: [Optimizations in ARC are there to mitigate pessimizations] For what it’s

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Jean-Daniel Dupas
Le 11 sept. 2013 à 09:03, Marcel Weiher marcel.wei...@gmail.com a écrit : Hi John! On Sep 10, 2013, at 19:26 , John McCall rjmcc...@apple.com wrote: On Sep 9, 2013, at 4:15 AM, Marcel Weiher marcel.wei...@gmail.com wrote: [Optimizations in ARC are there to mitigate pessimizations] For

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Dave
On 11 Sep 2013, at 05:04, Jens Alfke j...@mooseyard.com wrote: On Sep 10, 2013, at 12:33 PM, Dave d...@looktowindward.com 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

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Dave
On 11 Sep 2013, at 11:37, Jean-Daniel Dupas devli...@shadowlab.org 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

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

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Andy Lee
On Sep 11, 2013, at 6:37 AM, Jean-Daniel Dupas devli...@shadowlab.org 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

Re: ARC vs Manual Reference Counting

2013-09-11 Thread Louis Gerbarg
On Wed, Sep 11, 2013 at 6:58 AM, Dave d...@looktowindward.com wrote: On 11 Sep 2013, at 05:04, Jens Alfke j...@mooseyard.com wrote: On Sep 10, 2013, at 12:33 PM, Dave d...@looktowindward.com wrote: You with all this talk of memory management, you'd think that Apple (or someone) would

Re: ARC vs Manual Reference Counting

2013-09-10 Thread John McCall
On Sep 9, 2013, at 4:15 AM, Marcel Weiher marcel.wei...@gmail.com wrote: On Sep 9, 2013, at 11:33 , Tom Davie tom.da...@gmail.com wrote: On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org wrote: And does the profiler explicitly shows that ARC runtime code is the culprit ?

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
On 9 Sep 2013, at 09:30, Kevin Meaney k...@yvs.eu.com 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

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 k...@yvs.eu.com 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 Marcel Weiher
On Sep 10, 2013, at 21:52 , Ken Thomases k...@codeweavers.com 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

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 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 prefer

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 Dave
On 9 Sep 2013, at 09:49, Marcel Weiher marcel.wei...@gmail.com 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];

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Jens Alfke
On Sep 10, 2013, at 12:33 PM, Dave d...@looktowindward.com 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

Re: ARC vs Manual Reference Counting

2013-09-10 Thread Dave
On 9 Sep 2013, at 11:15, Kevin Meaney k...@yvs.eu.com wrote: On 9 Sep 2013, at 10:33, Tom Davie tom.da...@gmail.com 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

Re: ARC vs Manual Reference Counting

2013-09-09 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-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.

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 09:44, Kyle Sluder k...@ksluder.com 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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 09:58, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 09:44, Kyle Sluder k...@ksluder.com 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

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

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 Marcel Weiher
On Sep 9, 2013, at 9:44 , Kyle Sluder k...@ksluder.com 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),

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Graham Cox
On 09/09/2013, at 10:49 AM, Marcel Weiher marcel.wei...@gmail.com 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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le 9 sept. 2013 à 09:58, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 09:44, Kyle Sluder k...@ksluder.com wrote: Thirded. I thought I wouldn't like it. As soon as I didn't have to manage retains

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 11:33, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le 9 sept. 2013 à 09:58, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 09:44, Kyle Sluder k...@ksluder.com wrote: Thirded. I

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Tom Davie
On 9 Sep 2013, at 11:49, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le 9 sept. 2013 à 11:33, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le 9 sept. 2013 à 09:58, Tom Davie tom.da...@gmail.com a écrit : On

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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Kevin Meaney
On 9 Sep 2013, at 10:33, Tom Davie tom.da...@gmail.com 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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Marcel Weiher
On Sep 9, 2013, at 11:33 , Tom Davie tom.da...@gmail.com wrote: On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org 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

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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Jean-Daniel Dupas
Le 9 sept. 2013 à 11:54, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 11:49, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le 9 sept. 2013 à 11:33, Tom Davie tom.da...@gmail.com a écrit : On 9 Sep 2013, at 10:18, Jean-Daniel Dupas devli...@shadowlab.org wrote: Le

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 k...@ksluder.com 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

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

Re: ARC vs Manual Reference Counting

2013-09-09 Thread Greg Parker
On Sep 9, 2013, at 3:45 PM, Patrick Cusack livinginlosange...@mac.com 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

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 or

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

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 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

Re: ARC vs Manual Reference Counting

2013-09-08 Thread Jens Alfke
On Sep 8, 2013, at 10:43 PM, Patrick Cusack livinginlosange...@mac.com 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