Releases: dynatrace-oss/hash4j
Releases · dynatrace-oss/hash4j
v0.22.0
New Features:
- Added the
ConsistentBucketSetHasher
interface for implementations that support bucket removals in arbitrary order - Added the
ConsistentHashing.jumpBackAnchorHash
factory method for creating aConsistentBucketSetHasher
based on JumpBackHash and ideas from AnchorHash and MementoHash
Full Changelog: v0.21.0...v0.22.0
v0.21.0
New Features:
- added convenience functions for mixing/hashing integers and longs to an int
- Hasher32.hashLongLongToInt
- Hasher32.hashLongLongLongToInt
- Hasher32.hashLongIntToInt
- Hasher32.hashIntLongToInt
- Hasher32.hashIntIntIntToInt
- added convenience functions for mixing/hashing integers and longs to a long
- Hasher64.hashIntLongToLong
- Hasher64.hashIntIntIntToLong
- Hasher64.hashLongIntToLong
Full Changelog: v0.20.0...v0.21.0
v0.20.0
New Features:
- added XXH3 128bit hash function
PseudoRandomGenerator.reset
returns self-reference- added
isEmpty
method toHyperLogLog
andUltraLogLog
- added
DistinctCountUtil.deduplicateTokens
utility function for the deduplication of hash tokens
Full Changelog: v0.19.0...v0.20.0
v0.19.0
New Features:
- introduced
HashStream32::resetAndHashToInt
,HashStream64::resetAndHashToLong
, andHashStream128:resetAndHashTo128Bits
methods for more convenient recycling of hash stream objects - added
HashStream::putUnorderedIterable
that takes aHashStream64
Improvements:
- performance optimization of
PackedArrayHandler::numEqualComponents
for bit size equal to 1
Incompatible Changes:
- removed class
XXH3_64
from the public interface, please use corresponding factory methodHashing.xxh3_64
instead - removed class
ConsistentJumpBackBucketHasher
from the public interface, please use corresponding factory methodConsistentHashing.jumpBackHash
instead
Full Changelog: v0.18.0...v0.19.0
v0.18.0
v0.17.0
New Features:
- FarmHashUo: a 64-bit hash function
- JumpBackHash: a very fast consistent hash algorithm
Improvements:
- improved performance of HyperLogLog and UltraLogLog merge operations if sketches have same precision
- better performance of hash functions relying on unsigned 128-bit multiplications on Java 21 by using java.lang.Math.unsignedMultiplyHigh
Full Changelog: v0.16.0...v0.17.0
v0.16.0
v0.15.0
New Features:
- new hash function: Java port of PolymurHash 2.0
Improvements:
- optimized performance of putChars for the FarmHashNa hashing algorithm
- optimized performance of the distinct count estimator for HyperLogLog
- optimized speed of consistent hashing based on improved consistent weighted sampling
- reduced risk of an OutOfMemoryError when applying putUnorderedIterable on Iterables of unknown huge (billion range) size
Bug Fixes:
- fixed bug in Murmur3_128 leading to an infinite loop when hashing char sequences of lengths >= 2^31 - 8 = 2147483640
Full Changelog: v0.14.0...v0.15.0
v0.14.0
New Features:
- new consistent hashing algorithm with constant runtime based on improved consistent weighted sampling
Improvements:
- faster maximum-likelihood estimator for UltraLogLog
Full Changelog: v0.13.0...v0.14.0
v0.13.0
New Features:
- added SimHash implementation
- added ElementHashProvider::ofCollection
Full Changelog: v0.12.0...v0.13.0