digitalmars.D.ldc - Is atomicLoad implemented?
- Marco Leise (7/7) Jun 05 2013 I was just experimenting with core.atomic and noticed only a
- David Nadlinger (6/11) Jun 05 2013 atomicLoad/atomicStore are implemented for LDC.
- carryonjutta (4/4) Dec 31 2014 Is this because it isn't implemented or because it can be
- John Colvin (4/16) Jan 02 2015 Those who are interested in this topic should watch Herb Sutter's
I was just experimenting with core.atomic and noticed only a marginal speed difference when accessing variables using atomicLoad. Is this because it isn't implemented or because it can be reduced to a no-op on x86 hardware? -- Marco
Jun 05 2013
On 5 Jun 2013, at 19:19, Marco Leise wrote:I was just experimenting with core.atomic and noticed only a marginal speed difference when accessing variables using atomicLoad. Is this because it isn't implemented or because it can be reduced to a no-op on x86 hardware?atomicLoad/atomicStore are implemented for LDC. As for what causes the speed difference, the only sensible answer is to have a look at the produced assembly. atomicLoad can't be transformed into a normal load in the general case even on x86. David
Jun 05 2013
Is this because it isn't implemented or because it can be reduced to a no-op on x86 hardware? ________________ dhoom
Dec 31 2014
On Wednesday, 5 June 2013 at 17:25:32 UTC, David Nadlinger wrote:On 5 Jun 2013, at 19:19, Marco Leise wrote:Those who are interested in this topic should watch Herb Sutter's 2012 talk on std::atomic http://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1-of-2I was just experimenting with core.atomic and noticed only a marginal speed difference when accessing variables using atomicLoad. Is this because it isn't implemented or because it can be reduced to a no-op on x86 hardware?atomicLoad/atomicStore are implemented for LDC. As for what causes the speed difference, the only sensible answer is to have a look at the produced assembly. atomicLoad can't be transformed into a normal load in the general case even on x86. David
Jan 02 2015