Releases: greatroar/blobloom
Releases · greatroar/blobloom
v0.7.2
- SyncFilter implementation decoupled from Filter, to reduce the size of binaries linking in SyncFilter
- Other minor changes
v0.7.1
- Bulk operations (Union, Intersection) are now faster, especially on arm64.
- Documentation fixes.
- Benchmarks updated.
v0.7.0
- Filter.AddAtomic has been replaced by a new type, SyncFilter, which implements a concurrency-safe lock-free Bloom filter.
- The new example program bloomstat can be used to determine optimal sizes for Bloom filters.
- Some corner cases in Optimize and FPRate now trigger panics instead of infinite loops.
v0.6.0
The new method Empty reports whether a Filter is empty. The new method Fill fills it, meaning Has will return true for any key. AddAtomic has been optimized for speed.
v0.5.1
Fixed a test failure in an example.
v0.5.0
Blobloom is now more robust to weak hash functions. The documentation contains more extensive advice for picking a hash function.
0.4.0
The new method Filter.Intersect computes the intersection of two equally-sized Bloom filters.
0.3.0
The methods Filter.{Add2,AddAtomic2,Has2} are gone. Use Filter.{Add,AddAtomic,Has} instead and combine pairs of 32-bit inputs h1, h2
into (h1<<32) | h2
if needed.
The Filter.Union method is now faster on amd64. Benchmarks show a twofold speedup.
0.2.1
The false positive rate estimation code was revamped and should now produce accurate results even for Bloom filters that are filled far beyond their capacity.
0.2.0
The new method *Filter.Cardinality estimates the number of distinct keys added to a Filter.