Running Phobos unit tests in threads: I have data

Iain Buclaw via Digitalmars-d digitalmars-d at puremagic.com
Mon May 5 13:24:23 PDT 2014


On 5 May 2014 19:07, Orvid King via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> Going to take a wild guess, but as core.atomic.casImpl will never be
> inlined anywhere with DMD, due to it's inline assembly, you have the
> cost of building and destroying a stack frame, the cost of passing the
> args in, moving them into registers, saving potentially trashed
> registers, etc. every time it even attempts to acquire a lock, and the
> GC uses a single global lock for just about everything. As you can
> imagine, I suspect this is far from optimal, and, if I remember right,
> GDC uses intrinsics for the atomic operations.
>

Aye, and atomic intrinsics though they may be, it could even be
improved by switching over to C++ atomic intrinsics, which map
directly to core.atomics.  :)


More information about the Digitalmars-d mailing list