Live data from Hacker News

Cmapv2: A high performance, concurrent map

github.com

1–10 of 28 posts

Re: Cmapv2: A high performance, concurrent map

#2
Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

Re: Cmapv2: A high performance, concurrent map

#3
post #2

Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

Looks interesting, it would be nice to have the performance comparisons front and center on the readme.

Re: Cmapv2: A high performance, concurrent map

#5
post #2

Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

I've been using this one for years, can you do comparisons against it?

https://github.com/cornelk/hashmap

Re: Cmapv2: A high performance, concurrent map

#7
post #5
post #2

Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

I've been using this one for years, can you do comparisons against it? https://github.com/cornelk/hashmap

Another good comparison would be against https://pkg.go.dev/github.com/puzpuzpuz/xsync/v3#Map

Re: Cmapv2: A high performance, concurrent map

#8
post #5
post #2

Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

I've been using this one for years, can you do comparisons against it? https://github.com/cornelk/hashmap

yes I can take a look, thanks for passing that along

Re: Cmapv2: A high performance, concurrent map

#9
post #5

Earlier quoted context omitted.

I've been using this one for years, can you do comparisons against it? https://github.com/cornelk/hashmap

Another good comparison would be against https://pkg.go.dev/github.com/puzpuzpuz/xsync/v3#Map

definitely, I can expand my comparisons and benchmarks

Re: Cmapv2: A high performance, concurrent map

#10
post #3
post #2

Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with 10m k/v pairs where keys and values are 64bytes was able to achieve 1.5m w/s and 3m r/s.

Looks interesting, it would be nice to have the performance comparisons front and center on the readme.

sounds good, they are a bit hidden right now. also am most likely going to update the other docs.
Post reply on HN