Merge pull request #2 from dustin/master

Limit BenchmarkCacheGetConcurrent goroutine count
This commit is contained in:
Patrick Mylund Nielsen 2012-06-21 18:50:17 -07:00
commit 3bd539b94d
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() {
for j := 0; j < iterations; j++ {
tc.Get("foo") tc.Get("foo")
}
wg.Done() wg.Done()
}() }()
} }