├── .github └── workflows │ └── build.yml ├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.adoc ├── mvnw ├── mvnw-in-be-docker ├── mvnw.cmd ├── pom.xml └── src ├── main ├── docs │ ├── algorithm-profiles.adoc │ ├── architecture-overview.adoc │ ├── change-log-template.adoc │ ├── invariants-and-contracts.adoc │ ├── performance-benchmarks.adoc │ ├── specifications.adoc │ ├── testing-strategy.adoc │ └── unsafe-and-platform-notes.adoc ├── java-stub │ ├── java │ │ └── lang │ │ │ └── Math.java │ └── sun │ │ └── misc │ │ └── Unsafe.java └── java │ ├── net │ └── openhft │ │ └── hashing │ │ ├── Access.java │ │ ├── ByteBufferAccess.java │ │ ├── CharSequenceAccess.java │ │ ├── CityAndFarmHash_1_1.java │ │ ├── CompactLatin1CharSequenceAccess.java │ │ ├── DualHashFunction.java │ │ ├── HotSpotPrior7u6StringHash.java │ │ ├── LongHashFunction.java │ │ ├── LongTupleHashFunction.java │ │ ├── Maths.java │ │ ├── MetroHash.java │ │ ├── ModernCompactStringHash.java │ │ ├── ModernHotSpotStringHash.java │ │ ├── MurmurHash_3.java │ │ ├── Primitives.java │ │ ├── StringHash.java │ │ ├── UnknownJvmStringHash.java │ │ ├── UnsafeAccess.java │ │ ├── Util.java │ │ ├── WyHash.java │ │ ├── XXH3.java │ │ ├── XxHash.java │ │ └── package-info.java │ └── sun │ └── nio │ └── ch │ └── DirectBuffer.java └── test └── java └── net └── openhft └── hashing ├── ByteBufferAccessTest.java ├── CharSequenceAccessTest.java ├── City64_1_1_Test.java ├── CompactLatin1CharSequenceAccessTest.java ├── DualHashFunctionTest.java ├── FarmHashTest.java ├── LongHashFunctionTest.java ├── LongTupleHashFunctionTest.java ├── MathsTest.java ├── MetroHashTest.java ├── ModernCompactStringHashTest.java ├── MurmurHash3Test.java ├── OriginalFarmHashTest.java ├── PrimitivesTest.java ├── UnsafeAccessTest.java ├── UtilTest.java ├── WyHashTest.java ├── XXH128Test.java ├── XXH3Test.java ├── XxHashCollisionTest.java └── XxHashTest.java /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/.mvn/wrapper/MavenWrapperDownloader.java -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/LICENSE -------------------------------------------------------------------------------- /README.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/README.adoc -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw-in-be-docker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/mvnw-in-be-docker -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/docs/algorithm-profiles.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/algorithm-profiles.adoc -------------------------------------------------------------------------------- /src/main/docs/architecture-overview.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/architecture-overview.adoc -------------------------------------------------------------------------------- /src/main/docs/change-log-template.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/change-log-template.adoc -------------------------------------------------------------------------------- /src/main/docs/invariants-and-contracts.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/invariants-and-contracts.adoc -------------------------------------------------------------------------------- /src/main/docs/performance-benchmarks.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/performance-benchmarks.adoc -------------------------------------------------------------------------------- /src/main/docs/specifications.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/specifications.adoc -------------------------------------------------------------------------------- /src/main/docs/testing-strategy.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/testing-strategy.adoc -------------------------------------------------------------------------------- /src/main/docs/unsafe-and-platform-notes.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/docs/unsafe-and-platform-notes.adoc -------------------------------------------------------------------------------- /src/main/java-stub/java/lang/Math.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java-stub/java/lang/Math.java -------------------------------------------------------------------------------- /src/main/java-stub/sun/misc/Unsafe.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java-stub/sun/misc/Unsafe.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/Access.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/Access.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/ByteBufferAccess.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/ByteBufferAccess.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/CharSequenceAccess.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/CharSequenceAccess.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/CityAndFarmHash_1_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/CityAndFarmHash_1_1.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/DualHashFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/DualHashFunction.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/HotSpotPrior7u6StringHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/HotSpotPrior7u6StringHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/LongHashFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/LongHashFunction.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/LongTupleHashFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/LongTupleHashFunction.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/Maths.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/Maths.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/MetroHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/MetroHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/ModernCompactStringHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/ModernCompactStringHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/ModernHotSpotStringHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/ModernHotSpotStringHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/MurmurHash_3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/MurmurHash_3.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/Primitives.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/Primitives.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/StringHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/StringHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/UnknownJvmStringHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/UnknownJvmStringHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/UnsafeAccess.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/UnsafeAccess.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/Util.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/WyHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/WyHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/XXH3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/XXH3.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/XxHash.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/XxHash.java -------------------------------------------------------------------------------- /src/main/java/net/openhft/hashing/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/net/openhft/hashing/package-info.java -------------------------------------------------------------------------------- /src/main/java/sun/nio/ch/DirectBuffer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/main/java/sun/nio/ch/DirectBuffer.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/ByteBufferAccessTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/CharSequenceAccessTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/City64_1_1_Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/City64_1_1_Test.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/DualHashFunctionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/DualHashFunctionTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/FarmHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/FarmHashTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/LongHashFunctionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/LongHashFunctionTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/MathsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/MathsTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/MetroHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/MetroHashTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/MurmurHash3Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/MurmurHash3Test.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/OriginalFarmHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/PrimitivesTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/PrimitivesTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/UnsafeAccessTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/UnsafeAccessTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/UtilTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/UtilTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/WyHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/WyHashTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/XXH128Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/XXH128Test.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/XXH3Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/XXH3Test.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/XxHashCollisionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/XxHashCollisionTest.java -------------------------------------------------------------------------------- /src/test/java/net/openhft/hashing/XxHashTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenHFT/Zero-Allocation-Hashing/HEAD/src/test/java/net/openhft/hashing/XxHashTest.java --------------------------------------------------------------------------------