smallset:Go的uint64值的高效特殊情况集

时间:2024-06-19 03:46:00
【文件属性】:

文件名称:smallset:Go的uint64值的高效特殊情况集

文件大小:3KB

文件格式:ZIP

更新时间:2024-06-19 03:46:00

Go

小集 仅附加一组uint64,开销很小。 这只是附加的、固定大小的 uint64 集。 它比 map 更快,内存占用更少(基本上是 uint64 的切片 - 每个值 8 个字节,但为了获得可比的速度,您应该选择将分配多少额外的插槽),它只能用于均匀分布的 uint64 值。 如果没有剩余插槽,它会恐慌。 这本质上是具有开放寻址的哈希表,但没有哈希并且具有非常简单的寻址逻辑(在最近的插槽中查找)。 不是并发安全的。 基准 详情见测试代码。 在我的旧 i5-2450 笔记本上,它提供: BenchmarkSet 20000000 115 ns/op 9 B/op 0 allocs/op BenchmarkMap 10000000 202 ns/op 17 B/op 0 allocs/op 您应该始终分配比


【文件预览】:
smallset-master
----smallset_test.go(1KB)
----README.md(1KB)
----smallset.go(2KB)

网友评论