gitalk icon indicating copy to clipboard operation
gitalk copied to clipboard

一个线程安全的泛型支持map库

Open utterances-bot opened this issue 2 years ago • 2 comments

一个线程安全的泛型支持map库

orcaman/concurrent-map是一个非常高效的线程安全的map库,正如它的文档中所说的那样,标准库sync.Map更适合append-only的场景,或者说少写大量的读的场景,如果针对多读多写的场景,concurrent-map可能会更有优势。它是通过分片的方式,将锁的粒度减少,从而提高性能。

https://colobu.com/2022/09/04/a-thread-safe-and-generic-supported-map/

utterances-bot avatar Sep 10 '22 12:09 utterances-bot

cornelk/hashmap
alphadose/haxmap
puzpuzpuz/xsync

个人觉得都是些值得关注的 map 实现.

fufuok avatar Sep 10 '22 12:09 fufuok

泛型化key计算hash,先转成interface{},可以拿到那块内存区的地址和长度。直接暴力当成字符串计算。 https://github.com/antlabs/gstl/blob/master/cmap/cmap.go#L57 在我的玩具数据结构库是这么玩的。 这样大多数类型不需要定制hash函数,比较省力。

guonaihong avatar Nov 16 '22 14:11 guonaihong