Swift does away with pointers == pervasive ARC

Nick Sabalausky via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 17 11:38:30 PDT 2014


On 6/17/2014 2:00 PM, Walter Bright wrote:
> On 6/17/2014 2:31 AM, eles wrote:
>> It is not (only) about cost, it is about determinism. Exceptions are
>> on the
>> error recovery path, so they are less important to be deterministic.
>
> Yes, I do understand that. What I am trying to get across is that ARC
> can often consume MORE aggregate time than GC.
>

That isn't necessarily a deal-breaker for certain applications. For 
example, most games will happily accept a slightly reduced "typical" 
framerate to reduce dropped frames or other time spikes. Framerate 
spikes can be far more jarring and noticeable for the player than 
loosing a few fps.

Of course, as usual, the acceptability of tradeoffs all depends on the 
actual numbers. Ex: An ARC that bloats overall execution time by 100x is 
certainly not worthwhile, but one that increases execution time by 0.1% 
can definitely be a fantastic tradeoff for soft-realtime and low-memory 
environments. Obviously those numbers are exaggerated examples, but just 
to illustrate the point.

Again, nobody's saying "ARC is definitely better/worthwhile". It's just 
that, since we don't have numbers, we really can't say that ARC *isn't* 
worthwhile.



More information about the Digitalmars-d mailing list