repositorypackage
0.0.0-20241016221111-1f2c2c6f98d1
Repository: https://github.com/graxinc/syncmap.git
Documentation: pkg.go.dev
# README
syncmap
Purpose
syncmap.Map
is sync.Map using generics.
syncmap.Map
has the same methods minus CompareAndSwap
and CompareAndDelete
, since they require comparable values. Let us know if you want support for them added in some way!
Benchmark
Results for sync.Map
benchmarks:
BenchmarkLoadMostlyHits/std-8 215163644 6.043 ns/op
BenchmarkLoadMostlyHits/syncmap-8 391649406 3.078 ns/op
BenchmarkLoadMostlyMisses/std-8 361615671 3.417 ns/op
BenchmarkLoadMostlyMisses/syncmap-8 434882744 4.209 ns/op
BenchmarkLoadOrStoreBalanced/std-8 4030590 406.5 ns/op
BenchmarkLoadOrStoreBalanced/syncmap-8 4442049 283.4 ns/op
BenchmarkLoadOrStoreUnique/std-8 2159490 652.7 ns/op
BenchmarkLoadOrStoreUnique/syncmap-8 2716921 409.5 ns/op
BenchmarkLoadOrStoreCollision/std-8 216356244 5.754 ns/op
BenchmarkLoadOrStoreCollision/syncmap-8 492943695 2.385 ns/op
BenchmarkLoadAndDeleteBalanced/std-8 206500206 5.473 ns/op
BenchmarkLoadAndDeleteBalanced/syncmap-8 344110657 3.502 ns/op
BenchmarkLoadAndDeleteUnique/std-8 470197647 2.575 ns/op
BenchmarkLoadAndDeleteUnique/syncmap-8 874849255 1.350 ns/op
BenchmarkLoadAndDeleteCollision/std-8 286711022 5.346 ns/op
BenchmarkLoadAndDeleteCollision/syncmap-8 393698605 2.964 ns/op
BenchmarkRange/std-8 300404 3879 ns/op
BenchmarkRange/syncmap-8 336896 4539 ns/op
BenchmarkAdversarialAlloc/std-8 5690133 218.6 ns/op
BenchmarkAdversarialAlloc/syncmap-8 7773882 154.1 ns/op
BenchmarkAdversarialDelete/std-8 20595362 60.65 ns/op
BenchmarkAdversarialDelete/syncmap-8 23633935 50.75 ns/op
BenchmarkDeleteCollision/std-8 424353769 2.827 ns/op
BenchmarkDeleteCollision/syncmap-8 809968076 1.695 ns/op
BenchmarkSwapCollision/std-8 8332641 155.7 ns/op
BenchmarkSwapCollision/syncmap-8 9771920 115.6 ns/op
BenchmarkSwapMostlyHits/std-8 40996706 39.66 ns/op
BenchmarkSwapMostlyHits/syncmap-8 33398676 33.78 ns/op
BenchmarkSwapMostlyMisses/std-8 2160728 600.4 ns/op
BenchmarkSwapMostlyMisses/syncmap-8 2756742 435.5 ns/op
BenchmarkClear/std-8 3368053 386.2 ns/op
BenchmarkClear/syncmap-8 3294117 398.6 ns/op