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
