加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
shard_map_bench_test.go 828 Bytes
一键复制 编辑 原始数据 按行查看 历史
Lyric 提交于 2016-08-21 17:29 . First commit
package cmap_test
import (
"strconv"
"sync/atomic"
"testing"
"github.com/LyricTian/cmap"
)
func BenchmarkShardMapSet(b *testing.B) {
m := cmap.NewShardMap()
b.ResetTimer()
for i := 0; i < b.N; i++ {
m.Set(strconv.Itoa(i), i)
}
}
func BenchmarkParallelShardMapSet(b *testing.B) {
m := cmap.NewShardMap()
b.ResetTimer()
var i int64
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
v := strconv.Itoa(int(atomic.AddInt64(&i, 1)))
m.Set(v, v)
}
})
}
func BenchmarkShardMapGet(b *testing.B) {
m := cmap.NewShardMap()
m.Set("foo", "bar")
b.ResetTimer()
for i := 0; i < b.N; i++ {
m.Get("foo")
}
}
func BenchmarkParallelShardMapGet(b *testing.B) {
m := cmap.NewShardMap()
m.Set("foo", "bar")
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
m.Get("foo")
}
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化