D2 weak references

Jason House jason.james.house at gmail.com
Mon Apr 20 14:57:47 PDT 2009


Jarrett Billingsley Wrote:

> On Mon, Apr 20, 2009 at 5:03 PM, Sean Kelly <sean at invisibleduck.org> wrote:
> 
> > The horrible thing about all this is it makes using a multithreaded
> > WeakRef horribly slow.  Even if the GC facility were provided for
> > what you want to do you're talking about acquiring a mutex in
> > the GC for every deref operation.  What a mess.
> 
> Then take a hint from D2 and make them thread-local by default ;)  But
> provide a SharedWeakRef for the cases where you need it.

I'm pretty sure the GC can bypass thread locality for mark and sweep, so thread local won't help.  Anything that stops the sweep from occurring in parallel with a thread using the data bypasses this issue.



More information about the Digitalmars-d mailing list