5
5
namespace false_sharing
6
6
{
7
7
const int N = 1024 ;
8
- std::atomic_int global_nonshared[4096 ];
8
+ long global_nonshared[4096 ];
9
9
10
10
static void BM_FalseSharing2Global (benchmark::State& state) {
11
11
if (state.thread_index == 0 ) {
@@ -25,7 +25,7 @@ namespace false_sharing
25
25
}
26
26
27
27
static void BM_FalseSharing2Local (benchmark::State& state) {
28
- std::atomic_int local_nonshared = 0 ;
28
+ long local_nonshared = 0 ;
29
29
30
30
while (state.KeepRunning ()) {
31
31
for (int i = 0 ; i < N; ++i) {
@@ -41,28 +41,13 @@ namespace false_sharing
41
41
// Register the function as a benchmark
42
42
BENCHMARK (BM_FalseSharing2Global) ARGS(1 , 0 );
43
43
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 );
47
44
BENCHMARK (BM_FalseSharing2Global) ARGS(1 , 4 );
48
45
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 );
52
46
BENCHMARK (BM_FalseSharing2Global) ARGS(1 , 8 );
53
47
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 );
57
48
BENCHMARK (BM_FalseSharing2Global) ARGS(1 , 16 );
58
49
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 );
62
50
BENCHMARK (BM_FalseSharing2Local) ARGS(1 , 0 );
63
51
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 );
67
52
} // namespace false_sharing
68
53
0 commit comments