Skip to content

Commit f50c4e4

Browse files
committed
False sharing issue with even non atomic data
1 parent 31bfd18 commit f50c4e4

File tree

1 file changed

+2
-17
lines changed

1 file changed

+2
-17
lines changed

falsesharing.cpp

+2-17
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace false_sharing
66
{
77
const int N = 1024;
8-
std::atomic_int global_nonshared[4096];
8+
long global_nonshared[4096];
99

1010
static void BM_FalseSharing2Global(benchmark::State& state) {
1111
if (state.thread_index == 0) {
@@ -25,7 +25,7 @@ namespace false_sharing
2525
}
2626

2727
static void BM_FalseSharing2Local(benchmark::State& state) {
28-
std::atomic_int local_nonshared = 0;
28+
long local_nonshared = 0;
2929

3030
while (state.KeepRunning()) {
3131
for (int i = 0; i < N; ++i) {
@@ -41,28 +41,13 @@ namespace false_sharing
4141
// Register the function as a benchmark
4242
BENCHMARK(BM_FalseSharing2Global) ARGS(1, 0);
4343
BENCHMARK(BM_FalseSharing2Global) ARGS(2, 0);
44-
BENCHMARK(BM_FalseSharing2Global) ARGS(4, 0);
45-
BENCHMARK(BM_FalseSharing2Global) ARGS(8, 0);
46-
BENCHMARK(BM_FalseSharing2Global) ARGS(12, 0);
4744
BENCHMARK(BM_FalseSharing2Global) ARGS(1, 4);
4845
BENCHMARK(BM_FalseSharing2Global) ARGS(2, 4);
49-
BENCHMARK(BM_FalseSharing2Global) ARGS(4, 4);
50-
BENCHMARK(BM_FalseSharing2Global) ARGS(8, 4);
51-
BENCHMARK(BM_FalseSharing2Global) ARGS(12, 4);
5246
BENCHMARK(BM_FalseSharing2Global) ARGS(1, 8);
5347
BENCHMARK(BM_FalseSharing2Global) ARGS(2, 8);
54-
BENCHMARK(BM_FalseSharing2Global) ARGS(4, 8);
55-
BENCHMARK(BM_FalseSharing2Global) ARGS(8, 8);
56-
BENCHMARK(BM_FalseSharing2Global) ARGS(12, 8);
5748
BENCHMARK(BM_FalseSharing2Global) ARGS(1, 16);
5849
BENCHMARK(BM_FalseSharing2Global) ARGS(2, 16);
59-
BENCHMARK(BM_FalseSharing2Global) ARGS(4, 16);
60-
BENCHMARK(BM_FalseSharing2Global) ARGS(8, 16);
61-
BENCHMARK(BM_FalseSharing2Global) ARGS(12, 16);
6250
BENCHMARK(BM_FalseSharing2Local) ARGS(1, 0);
6351
BENCHMARK(BM_FalseSharing2Local) ARGS(2, 0);
64-
BENCHMARK(BM_FalseSharing2Local) ARGS(4, 0);
65-
BENCHMARK(BM_FalseSharing2Local) ARGS(8, 0);
66-
BENCHMARK(BM_FalseSharing2Local) ARGS(12, 0);
6752
} // namespace false_sharing
6853

0 commit comments

Comments
 (0)