|
|
@ -1457,6 +1457,21 @@ func BenchmarkRWMutexMapGet(b *testing.B) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func BenchmarkRWMutexInterfaceMapGet(b *testing.B) {
|
|
|
|
|
|
|
|
b.StopTimer()
|
|
|
|
|
|
|
|
s := struct{name string}{name: "foo"}
|
|
|
|
|
|
|
|
m := map[interface{}]string{
|
|
|
|
|
|
|
|
s: "bar",
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
mu := sync.RWMutex{}
|
|
|
|
|
|
|
|
b.StartTimer()
|
|
|
|
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|
|
|
|
|
mu.RLock()
|
|
|
|
|
|
|
|
_, _ = m[s]
|
|
|
|
|
|
|
|
mu.RUnlock()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func BenchmarkCacheGetConcurrentExpiring(b *testing.B) {
|
|
|
|
func BenchmarkCacheGetConcurrentExpiring(b *testing.B) {
|
|
|
|
benchmarkCacheGetConcurrent(b, 5*time.Minute)
|
|
|
|
benchmarkCacheGetConcurrent(b, 5*time.Minute)
|
|
|
|
}
|
|
|
|
}
|
|
|
|