Releases: dynatrace-oss/hash4j
Releases · dynatrace-oss/hash4j
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
v0.12.0
New Features:
- new hash function FarmHashNa
- added FastSimHash, a fast implementation of the SimHash algorithm for similarity hashing
- added set and reset methods to the MartingaleEstimator to enable object reuse
- added hashLongLongToLong and hashLongLongLongToLong to the Hasher64 interface for fast hashing (mixing) of 2 or 3 longs
Full Changelog: v0.11.0...v0.12.0
v0.11.0
New Features:
- new hash function: Komihash 5.0
Incompatible changes:
- removed classes AbstractHashStream32, AbstractHashStream64, and AbstractHashStream128 from public interface
Full Changelog: v0.10.0...v0.11.0
v0.10.0
New Features:
- better and slightly more accurate default estimator for UltraLogLog (
UltraLogLog.OPTIMAL_FGRA_ESTIMATOR
) - added token support for HyperLogLog and UltraLogLog, which allows 64-bit hash values to be reduced to 32-bit tokens first, which can then be used alternatively for the add operation
Incompatible changes:
- removed
UltraLogLog.SMALL_RANGE_CORRECTED_4_GRA_ESTIMATOR
(useUltraLogLog.OPTIMAL_FGRA_ESTIMATOR
instead)
Full Changelog: v0.9.0...v0.10.0