Don't overparallelize the concurrent test.

This commit is contained in:
Dustin Sallings 2012-06-21 17:36:24 -07:00
parent 3c46230312
commit fbcdb10061
1 changed files with 13 additions and 3 deletions

View File

@ -646,10 +646,20 @@ func BenchmarkCacheGetConcurrent(b *testing.B) {
tc := New(0, 0) tc := New(0, 0)
tc.Set("foo", "bar", 0) tc.Set("foo", "bar", 0)
wg := new(sync.WaitGroup) wg := new(sync.WaitGroup)
wg.Add(b.N) children := b.N
for i := 0; i < b.N; i++ { iterations := 1
if children > 10000 {
children = 10000
iterations = b.N / children
}
wg.Add(children)
for i := 0; i < children; i++ {
go func() { go func() {
tc.Get("foo") for j := 0; j < iterations; j++ {
tc.Get("foo")
}
wg.Done() wg.Done()
}() }()
} }