Skip to content

Commit 9dcce14

Browse files
authored
Cmap bench (#6)
* 分区map * 更新 * 加性能测试代码
1 parent 625f807 commit 9dcce14

File tree

2 files changed

+388
-3
lines changed

2 files changed

+388
-3
lines changed

cmap/cmap.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,27 @@ type Item[K comparable, V any] struct {
3030
}
3131

3232
func New[K comparable, V any]() (c *CMap[K, V]) {
33+
c = &CMap[K, V]{}
34+
c.init(0)
35+
return c
36+
}
37+
38+
func (c *CMap[K, V]) init(n int) {
3339
np := runtime.GOMAXPROCS(0)
3440
if np <= 0 {
3541
np = 8
3642
}
3743

38-
c = &CMap[K, V]{
39-
bucket: make([]Item[K, V], np),
44+
if n > 0 {
45+
np = n
4046
}
4147

48+
c.bucket = make([]Item[K, V], np)
49+
4250
for i := range c.bucket {
4351
c.bucket[i].m = make(map[K]V)
4452
}
45-
return c
53+
4654
}
4755

4856
// 计算hash值

0 commit comments

Comments
 (0)