IIRC (maybe this has changed recently) atomic increments in core.atomic are
based on CAS instructions in a while loop, which is how more generic lock
free primitives are made.  Atomic increment should be special cased to
directly use lock; inc [someRegister];.

On Fri, Aug 27, 2010 at 10:40 AM, Sean Kelly <[email protected]> wrote:

> On Aug 27, 2010, at 7:11 AM, David Simcha wrote:
> >
> >>
> >> I see you have some CAS instructions. Sean, I think it's a good time to
> collaborate with David to put them into druntime or std.concurrency.
> >
> > Yeah, D needs a real atomics library.  core.atomic is a good start, but I
> won't use it until it can efficiently do things like atomic increment.
>
> How could it be made more efficient?
> _______________________________________________
> phobos mailing list
> [email protected]
> http://lists.puremagic.com/mailman/listinfo/phobos
>
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to