Testing some singleton implementations
Stanislav Blinov
stanislav.blinov at gmail.com
Fri Jan 31 03:10:10 PST 2014
On Friday, 31 January 2014 at 10:57:53 UTC, Andrej Mitrovic wrote:
> The atomic implementation probably beats the TLS version when a
> lot of
> new threads are being spawned at once and they only retrieve the
> singleton which has already been initialized. E.g., say a 1000
> threads
> are spawned.
Easy enough to test. But inconclusive. I just ran some tests with
1024 threads :)
First, subsequent runs on my machine show interleaving results:
Test time for SyncSingleton: 61.2334 msecs.
Test time for AtomicSingleton: 15.9795 msecs.
Test time for SyncSingleton: 11.209 msecs.
Test time for AtomicSingleton: 25.4395 msecs.
Test time for SyncSingleton: 22.8105 msecs.
Test time for AtomicSingleton: 35.1865 msecs.
I guess I'd need a different CPU (and probably one that's not
doing anything else at the time) to get conclusive results.
It also seems that either there *is* a race in there somewhere,
or maybe a bug?.. Some runs just flat freeze (even on small
thread counts) :\
More information about the Digitalmars-d
mailing list