On 5/10/14, 6:33 AM, Manu via Digitalmars-d wrote:
On 10 May 2014 17:08, Andrei Alexandrescu via Digitalmars-d
<[email protected]> 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