Skip to content

Releases: puzpuzpuz/xsync

v3.1.0

25 Feb 18:23
cdaca8b
Compare
Choose a tag to compare
  • 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

14 Nov 17:11
1386eb4
Compare
Choose a tag to compare
  • Fix too aggressive Map/MapOf shrinking on deletion leading to out of range panic (#113)

Thanks @mdumandag for reporting the issue.

v3.0.1

01 Nov 19:07
42e3390
Compare
Choose a tag to compare
  • Fix lost updates on concurrent Map/MapOf resize (#111)

Thanks @klauspost for reporting this issue.

v3.0.0

22 Oct 12:24
f7bf836
Compare
Choose a tag to compare
  • 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

26 Sep 18:44
c3b5020
Compare
Choose a tag to compare
  • Speed up built-in string hash function (#106)

v2.5.0

21 Aug 08:06
ace0f0f
Compare
Choose a tag to compare
  • Add concurrent queue with generics support (MPMCQueueOf) (#104)

v2.4.1

04 Jun 17:48
5e2931d
Compare
Choose a tag to compare
  • Fix nextPowOf2 on zero input (#98)
    • Fixes the initial capacity of maps presized to a very small capacity (less than 3)

v2.4.0

08 Nov 16:33
d2d6d5a
Compare
Choose a tag to compare
  • Add presized constructors for Map and MapOf (#86)
  • Fix potential iteration over duplicate keys in Map/MapOf.Range (#87 and #88)

v2.3.2

03 Nov 16:19
a140d88
Compare
Choose a tag to compare
  • 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

01 Nov 18:16
aa980e6
Compare
Choose a tag to compare
  • 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)