semaphore: make test time independent of GOMAXPROCS
TestWeighted's runtime was roughly proportional to the number of CPUs,
so it ran a long time on PPCs (160 CPUs).
Make the number of loops in the test an inverse function of the number
of CPUs, to keep the test short.
Change-Id: Id853dbb5e5e2f9fb95966d19ef0c511e3f8080e0
Reviewed-on: https://go-review.googlesource.com/43632
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/semaphore/semaphore_test.go b/semaphore/semaphore_test.go
index 867f71a..3f3bc9f 100644
--- a/semaphore/semaphore_test.go
+++ b/semaphore/semaphore_test.go
@@ -29,6 +29,7 @@
t.Parallel()
n := runtime.GOMAXPROCS(0)
+ loops := 10000 / n
sem := NewWeighted(int64(n))
var wg sync.WaitGroup
wg.Add(n)
@@ -36,7 +37,7 @@
i := i
go func() {
defer wg.Done()
- HammerWeighted(sem, int64(i), 1000)
+ HammerWeighted(sem, int64(i), loops)
}()
}
wg.Wait()