aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/syscall_windows_test.go
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2016-04-05 10:28:19 +1000
committerAlex Brainman <alex.brainman@gmail.com>2016-04-05 00:52:40 +0000
commitfcac88098b1d5eee5f0a546e550c3d95cc13f64b (patch)
tree35470e36b0599f8451e0b74f2f170f5b374a541f /src/runtime/syscall_windows_test.go
parentc4dda7e5a830e86b597d34483fd7787723b34f2f (diff)
downloadgo-fcac88098b1d5eee5f0a546e550c3d95cc13f64b.tar.gz
go-fcac88098b1d5eee5f0a546e550c3d95cc13f64b.zip
runtime: remove race out of BenchmarkChanToSyscallPing1ms
Fixes #15119 Change-Id: I31445bf282a5e2a160ff4e66c5a592b989a5798f Reviewed-on: https://go-review.googlesource.com/21448 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/syscall_windows_test.go')
-rw-r--r--src/runtime/syscall_windows_test.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/runtime/syscall_windows_test.go b/src/runtime/syscall_windows_test.go
index 730b6d6d9c..0b3ebe504d 100644
--- a/src/runtime/syscall_windows_test.go
+++ b/src/runtime/syscall_windows_test.go
@@ -901,18 +901,19 @@ func setEvent(h syscall.Handle) error {
}
func benchChanToSyscallPing(b *testing.B) {
+ n := b.N
ch := make(chan int)
event, err := createEvent()
if err != nil {
b.Fatal(err)
}
go func() {
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
syscall.WaitForSingleObject(event, syscall.INFINITE)
ch <- 1
}
}()
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
err := setEvent(event)
if err != nil {
b.Fatal(err)
@@ -932,6 +933,7 @@ func BenchmarkChanToSyscallPing15ms(b *testing.B) {
}
func benchSyscallToSyscallPing(b *testing.B) {
+ n := b.N
event1, err := createEvent()
if err != nil {
b.Fatal(err)
@@ -941,7 +943,7 @@ func benchSyscallToSyscallPing(b *testing.B) {
b.Fatal(err)
}
go func() {
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
syscall.WaitForSingleObject(event1, syscall.INFINITE)
err := setEvent(event2)
if err != nil {
@@ -949,7 +951,7 @@ func benchSyscallToSyscallPing(b *testing.B) {
}
}
}()
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
err := setEvent(event1)
if err != nil {
b.Fatal(err)
@@ -969,15 +971,16 @@ func BenchmarkSyscallToSyscallPing15ms(b *testing.B) {
}
func benchChanToChanPing(b *testing.B) {
+ n := b.N
ch1 := make(chan int)
ch2 := make(chan int)
go func() {
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
<-ch1
ch2 <- 1
}
}()
- for i := 0; i < b.N; i++ {
+ for i := 0; i < n; i++ {
ch1 <- 1
<-ch2
}