More radical ideas about gc and reference counting

Peter Alexander via Digitalmars-d digitalmars-d at puremagic.com
Sat May 10 07:20:33 PDT 2014


On Saturday, 10 May 2014 at 13:33:40 UTC, Manu via Digitalmars-d 
wrote:
> On 10 May 2014 17:08, Andrei Alexandrescu via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>> On 5/9/14, 11:27 PM, Manu via Digitalmars-d wrote:
>>>
>>> ARC overhead would have no meaningful impact on performance, 
>>> GC may
>>> potentially freeze execution. I am certain I would never 
>>> notice ARC
>>> overhead on a profiler, and if I did, there are very simple 
>>> methods to
>>> shift it elsewhere in the few specific circumstances it 
>>> emerges.
>>
>>
>> This is very, very, very wrong. -- Andrei
>
> Is there any evidence to support that assertion?

It is well known that reference counting can perform poorly. The 
updates damage the cache and atomic reference counts will stall 
pipelines.

Of course, there are things that can be done to mitigate the 
impact, but the same is true for GC.

Just Google for reference counting performance.


> I have many colleagues who work on phones. The patterns I see 
> are that
> the iOS guys who use Obj-C never complain about it, and the GC 
> guys
> are often struggling with it.
> The bias in gamedev is strongly towards iOS too, so that should 
> be a
> more populous group to draw samples from.

Of course. In game dev a large frame time spike is worse, and 
more obvious/noticeable than a consistent and mostly predictable 
performance hit.


More information about the Digitalmars-d mailing list