Releases: puzpuzpuz/xsync
Releases · puzpuzpuz/xsync
v3.1.0
- Use presized Map/MapOf argument as the minimal map capacity (#121)
NewMapPresized
/NewMapOfPresized
's argument is now treated as the minimal table capacity. The underlying hash table won't shrink beyond the specified capacity.
Also, fixes and improves godoc.
v3.0.2
- Fix too aggressive Map/MapOf shrinking on deletion leading to out of range panic (#113)
Thanks @mdumandag for reporting the issue.
v3.0.1
- Fix lost updates on concurrent
Map
/MapOf
resize (#111)
Thanks @klauspost for reporting this issue.
v3.0.0
- Replace the user-defined hash function in MapOf factories with a built-in fast hash function (#107, #108)
All New*MapOf*
functions are now replaced with the NewMapOf
and NewMapOfPresized
functions. There is no longer a need to provide a user-defined hash function.
Kudos go to @destel
v2.5.1
- Speed up built-in string hash function (#106)
v2.5.0
- Add concurrent queue with generics support (
MPMCQueueOf
) (#104)
v2.4.1
- Fix nextPowOf2 on zero input (#98)
- Fixes the initial capacity of maps presized to a very small capacity (less than 3)
v2.4.0
- Add presized constructors for
Map
and MapOf
(#86)
- Fix potential iteration over duplicate keys in
Map
/MapOf.Range
(#87 and #88)
v2.3.2
- Optimize MapOf.Range (#82)
- Report throughput metric in benchmarks (#81)
- Update benchmark results page (#83)
Thanks @felixge for holding a comprehensive (and lengthy) benchmarks run.
v2.3.1
- New MapOf design (#78)
MapOf
now takes full advantage of Go generics: less GC pressure, less atomic operations on reads, also improved integer hash function
- If you're into benchmarking, comparisons with other concurrent map implementations are welcome (see this and this PRs as comparison examples)