Smart pointers instead of GC?

Adam Wilson flyboynw at gmail.com
Mon Feb 3 23:39:51 PST 2014


On Mon, 03 Feb 2014 23:31:25 -0800, Paulo Pinto <pjmlp at progtools.org>  
wrote:

> On Tuesday, 4 February 2014 at 02:05:07 UTC, Nick Sabalausky wrote:
>> On 2/3/2014 4:13 PM, H. S. Teoh wrote:
>>> I've seen real-life
>>> examples of ARCs gone horribly, horribly wrong, whereas had a GC been
>>> used in the first place things wouldn't have gone down that route.
>>>
>>
>> I'm curious to hear more about this.
>
> An example is when you have a huge graph and the root reaches it count  
> == 0.
>
> The time taken into a cascading deletes of the whole structure is  
> similar to a stop-the-world GC pause.
>
>
> --
> Paulo

That's a generic example, but ARC proponents steadfastly maintain that it  
doesn't happen often enough in practice to be relevant. Mr. Teoh's  
examples of it would be most helpful. And there is more than one way ARC  
can go horribly wrong, like cyclic references inside a huge graph.  
Wouldn't THAT be fun! :-) I could design a huge graph that never gets  
freed in ARC in my sleep, I've built them before without trying hard in  
C#, most of the time quite by accident, but not always...

-- 
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator


More information about the Digitalmars-d mailing list