More radical ideas about gc and reference counting

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat May 10 09:15:09 PDT 2014


On 5/10/14, 6:33 AM, 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?

Of course, and I've shown it numerous times, only for it to be 
blissfully ignored. Probably the most recent and influential work on it is

http://research.microsoft.com/pubs/202163/rcix-oopsla-2013.pdf

of which FIRST sentence is "Despite some clear advantages and recent 
advances, reference counting remains a poor cousin to high-performance 
tracing garbage collectors." The paper reviews previous work on the 
matter, ALL of which shows that RC is behind GC in speed, and presents 
(for the first time in 2013) new work that brings about parity of RC 
with GC.

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

As competent engineers we can't afford to be ignorant of the existing 
research and practice showing a much more complex tradeoff space than a 
black/white distinction. We also can't do the capital mistake of 
engineering - the beauty of the part at the expense of the beauty of the 
whole.


Andrei



More information about the Digitalmars-d mailing list