Looks good! There's an important thing missing from the benchmarks though:
- cpu usage under concurrency: many of these spin-lock or use atomics, which can use up to 100% cpu time just spinning.
- latency under concurrency: atomics cause cache-line bouncing which kills latency, especially p99 latency
vanderZwan 1 hours ago [-]
I don't write Go but respect to the author for trying to list trade-off considerations for each of the implementations tested, and not just proclaim their library the overal winner.
eatonphil 1 hours ago [-]
Will we also eventually get a generic sync.Map?
jeffbee 47 minutes ago [-]
Almost certainly, since the internal HashTrieMap is already generic. But for now this author's package stands in nicely.
Rendered at 22:18:54 GMT+0000 (Coordinated Universal Time) with Vercel.
- cpu usage under concurrency: many of these spin-lock or use atomics, which can use up to 100% cpu time just spinning.
- latency under concurrency: atomics cause cache-line bouncing which kills latency, especially p99 latency