std.functional.memoize : thread local or __gshared memoization?
Ola Fosheim Grøstad via Digitalmars-d
digitalmars-d at puremagic.com
Sat May 27 09:27:46 PDT 2017
On Saturday, 27 May 2017 at 16:19:06 UTC, Kagamin wrote:
> On Saturday, 27 May 2017 at 10:29:05 UTC, Ola Fosheim Grøstad
> wrote:
>> Hm, I would think that using __gshared would not be affected
>> by compiler improvements, since it would turn off
>> optimizations that assume that the variable doesn't change
>> between reads?
>
> Like volatile? Volatile doesn't work.
Volatile is different. Volatile means there can be side-effects
from reads/writes, so the compiler cannot optimize out writes.
This is for hardware registers.
> __gshared has purpose to behave like old good global variable
> simply to provide a low level feature for a system language, if
> you need something else, then use the right tool.
Doesn't make much sense to me.
If the semantics in C is that everything is typed shared then it
should also be treated as such when D interfaces with C and C
like type-semantics.
More information about the Digitalmars-d
mailing list