MCPcopy
hub / github.com/aceld/zinx / benchmarkMultiGetSetBlock

Function benchmarkMultiGetSetBlock

zutils/shard_lock_map_bench_test.go:266–281  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

264}
265
266func benchmarkMultiGetSetBlock(b *testing.B) {
267 slm := NewShardLockMaps()
268 finished := make(chan struct{}, 2*b.N)
269 get, set := GetSet(slm, finished)
270 for i := 0; i < b.N; i++ {
271 slm.Set(strconv.Itoa(i%100), "value")
272 }
273 b.ResetTimer()
274 for i := 0; i < b.N; i++ {
275 go set(strconv.Itoa(i%100), "value")
276 go get(strconv.Itoa(i%100), "value")
277 }
278 for i := 0; i < 2*b.N; i++ {
279 <-finished
280 }
281}
282
283func GetSet(slm ShardLockMaps, finished chan struct{}) (set func(key, value string), get func(key, value string)) {
284 return func(key, value string) {

Callers

nothing calls this directly

Calls 3

SetMethod · 0.95
NewShardLockMapsFunction · 0.85
GetSetFunction · 0.85

Tested by

no test coverage detected