<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 4 February 2014 17:31, Paulo Pinto <span dir="ltr"><<a href="mailto:pjmlp@progtools.org" target="_blank">pjmlp@progtools.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tuesday, 4 February 2014 at 02:05:07 UTC, Nick Sabalausky wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2/3/2014 4:13 PM, H. S. Teoh wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I've seen real-life<br>
examples of ARCs gone horribly, horribly wrong, whereas had a GC been<br>
used in the first place things wouldn't have gone down that route.<br>
<br>
</blockquote>
<br>
I'm curious to hear more about this.<br>
</blockquote>
<br>
An example is when you have a huge graph and the root reaches it count == 0.<br>
<br>
The time taken into a cascading deletes of the whole structure is similar to a stop-the-world GC pause.<br></blockquote><div><br></div><div>Only if it's not deferred, and even then, if you're freeing a huge structure like that, it's at a particular time where you planned to do so.</div>
<div>No realtime app I know of goes and free's a huge runtime graph mid-frame at some random moment. That's just silly.</div><div><br></div><div>It's still easy to defer deletion under ARC if that's what you want to do... it's all about _choice_ :)</div>
</div></div></div>