The existing TypedCounter_test was excessively clever and convoluted, yet failed to test the critical elements systematically. Indeed, two bugs were hidden in synchronisation and instance access. - build a new concurrent test from scratch, now using the threadBenchmark function for the actual concurrent execution and just invoked a random selected access to the counter repeatedly from a large number of threads. - rework the TypedContext and counter to use Atomics where applicable; measurements indicate however that this has only negligible impact on the amortised invocation times, which are around 60ns for single-threaded access, yet can increase by factor 100 due to contention. |
||
|---|---|---|
| .. | ||
| entry-id.hpp | ||
| genfunc.cpp | ||
| genfunc.hpp | ||