diff options
Diffstat (limited to 'src/runtime/internal/atomic/bench_test.go')
| -rw-r--r-- | src/runtime/internal/atomic/bench_test.go | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/src/runtime/internal/atomic/bench_test.go b/src/runtime/internal/atomic/bench_test.go deleted file mode 100644 index efc0531a0d..0000000000 --- a/src/runtime/internal/atomic/bench_test.go +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2016 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package atomic_test - -import ( - "runtime/internal/atomic" - "testing" -) - -var sink any - -func BenchmarkAtomicLoad64(b *testing.B) { - var x uint64 - sink = &x - for i := 0; i < b.N; i++ { - _ = atomic.Load64(&x) - } -} - -func BenchmarkAtomicStore64(b *testing.B) { - var x uint64 - sink = &x - for i := 0; i < b.N; i++ { - atomic.Store64(&x, 0) - } -} - -func BenchmarkAtomicLoad(b *testing.B) { - var x uint32 - sink = &x - for i := 0; i < b.N; i++ { - _ = atomic.Load(&x) - } -} - -func BenchmarkAtomicStore(b *testing.B) { - var x uint32 - sink = &x - for i := 0; i < b.N; i++ { - atomic.Store(&x, 0) - } -} - -func BenchmarkAnd8(b *testing.B) { - var x [512]uint8 // give byte its own cache line - sink = &x - for i := 0; i < b.N; i++ { - atomic.And8(&x[255], uint8(i)) - } -} - -func BenchmarkAnd(b *testing.B) { - var x [128]uint32 // give x its own cache line - sink = &x - for i := 0; i < b.N; i++ { - atomic.And(&x[63], uint32(i)) - } -} - -func BenchmarkAnd8Parallel(b *testing.B) { - var x [512]uint8 // give byte its own cache line - sink = &x - b.RunParallel(func(pb *testing.PB) { - i := uint8(0) - for pb.Next() { - atomic.And8(&x[255], i) - i++ - } - }) -} - -func BenchmarkAndParallel(b *testing.B) { - var x [128]uint32 // give x its own cache line - sink = &x - b.RunParallel(func(pb *testing.PB) { - i := uint32(0) - for pb.Next() { - atomic.And(&x[63], i) - i++ - } - }) -} - -func BenchmarkOr8(b *testing.B) { - var x [512]uint8 // give byte its own cache line - sink = &x - for i := 0; i < b.N; i++ { - atomic.Or8(&x[255], uint8(i)) - } -} - -func BenchmarkOr(b *testing.B) { - var x [128]uint32 // give x its own cache line - sink = &x - for i := 0; i < b.N; i++ { - atomic.Or(&x[63], uint32(i)) - } -} - -func BenchmarkOr8Parallel(b *testing.B) { - var x [512]uint8 // give byte its own cache line - sink = &x - b.RunParallel(func(pb *testing.PB) { - i := uint8(0) - for pb.Next() { - atomic.Or8(&x[255], i) - i++ - } - }) -} - -func BenchmarkOrParallel(b *testing.B) { - var x [128]uint32 // give x its own cache line - sink = &x - b.RunParallel(func(pb *testing.PB) { - i := uint32(0) - for pb.Next() { - atomic.Or(&x[63], i) - i++ - } - }) -} - -func BenchmarkXadd(b *testing.B) { - var x uint32 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - atomic.Xadd(ptr, 1) - } - }) -} - -func BenchmarkXadd64(b *testing.B) { - var x uint64 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - atomic.Xadd64(ptr, 1) - } - }) -} - -func BenchmarkCas(b *testing.B) { - var x uint32 - x = 1 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - atomic.Cas(ptr, 1, 0) - atomic.Cas(ptr, 0, 1) - } - }) -} - -func BenchmarkCas64(b *testing.B) { - var x uint64 - x = 1 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - for pb.Next() { - atomic.Cas64(ptr, 1, 0) - atomic.Cas64(ptr, 0, 1) - } - }) -} -func BenchmarkXchg(b *testing.B) { - var x uint32 - x = 1 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - var y uint32 - y = 1 - for pb.Next() { - y = atomic.Xchg(ptr, y) - y += 1 - } - }) -} - -func BenchmarkXchg64(b *testing.B) { - var x uint64 - x = 1 - ptr := &x - b.RunParallel(func(pb *testing.PB) { - var y uint64 - y = 1 - for pb.Next() { - y = atomic.Xchg64(ptr, y) - y += 1 - } - }) -} |
