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
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
>
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%
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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).
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];
>>
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
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
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
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
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
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
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 :
>
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
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
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
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
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
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
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
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
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
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
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
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-
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
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
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
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
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
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
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
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
47 matches
Mail list logo