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.