GxHash 2.0.0
dotnet add package GxHash --version 2.0.0
NuGet\Install-Package GxHash -Version 2.0.0
<PackageReference Include="GxHash" Version="2.0.0" />
paket add GxHash --version 2.0.0
#r "nuget: GxHash, 2.0.0"
// Install GxHash as a Cake Addin #addin nuget:?package=GxHash&version=2.0.0 // Install GxHash as a Cake Tool #tool nuget:?package=GxHash&version=2.0.0
GxHash
GxHash is a blazingly fast and robust non-cryptographic hashing algorithm.
Features
Blazingly Fast 🚀
Up to this date, GxHash is the fastest non-cryptographic hashing algorithm of its class, for all input sizes. This performance is possible mostly thanks to heavy usage of SIMD intrinsics, high ILP construction and a small bytecode (easily inlined and cached). See the benchmarks.
Highly Robust 🗿
GxHash uses several rounds of hardware-accelerated AES block cipher for efficient bit mixing. Thanks to this, GxHash passes all SMHasher tests, which is the de facto quality benchmark for non-cryptographic hash functions, gathering most of the existing algorithms. GxHash has low collisions, uniform distribution and high avalanche properties.
Portability
Architecture Compatibility
GxHash is compatible with:
- X86 processors with AES-NI & SSE2 intrinsics
- ARM processors with AES & NEON intrinsics Warning: Other platforms are currently not supported (there is no fallback). GxHash will not build on these platforms.
Hashes Stability
All generated hashes for a given version of GxHash are stable, meaning that for a given input the output hash will be the same across all supported platforms.
Benchmarks
This library is a C# port of gxhash. Despite the language difference, performance is really close to the Rust version of the algorithm for a given version of the algorithm. You can run the benchmarks in GxHash.Benchmarks to see for yourself.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.0 | 193 | 1/13/2024 |
2.0.0: Do partial-first
1.0.0: First version