xxHash is an Extremely fast Hash algorithm, running at RAM speed limits. It successfully passes the SMHasher Test suite evaluating Hash quality.
Branch | Status |
---|---|
master | |
dev |
The benchmark uses SMHasher speed test, compiled with Visual on a Windows Seven 32 bits system. The reference system uses a Core 2 Duo @3GHz
Name | Speed | Q.Score | Author |
---|---|---|---|
xxHash | 5.4 GB/s | 10 | Y.C. |
MumurHash 3a | 2.7 GB/s | 10 | Austin Appleby |
SBox | 1.4 GB/s | 9 | Bret Mulvey |
Lookup3 | 1.2 GB/s | 9 | Bob Jenkins |
CityHash64 | 1.05 GB/s | 10 | Pike & Alakuijala |
FNV | 0.55 GB/s | 5 | Fowler, Noll, Vo |
CRC32 | 0.43 GB/s | 9 | |
SipHash | 0.34 GB/s | 10 | Jean-Philippe Aumasson |
MD5-32 | 0.33 GB/s | 10 | Ronald L. Rivest |
SHA1-32 | 0.28 GB/s | 10 |
Q.Score is a measure of quality of the hash function. It depends on successfully passing SMHasher test set. 10 is a perfect score.
A new version, XXH64, has been created thanks to Mathias Westerdahl contribution, which offers superior speed and dispersion for 64-bits systems. Note however that 32-bits applications will still run faster using the 32-bits version.
SMHasher speed test, compiled using GCC 4.8.2, a Linux Mint 64-bits. The reference system uses a Core i5-3340M @2.7GHz
Version | Speed on 64-bits | Speed on 32-bits |
---|---|---|
XXH64 | 13.8 GB/s | 1.9 GB/s |
XXH32 | 6.8 GB/s | 6.0 GB/s |
This is an official mirror of xxHash project, hosted on Google Code. The intention is to offer github's capabilities to xxhash users, such as cloning, branch, pull requests or source download.
The "master" branch will reflect, the status of xxhash at its official homepage. The "dev" branch is the one where all contributions will be merged. If you plan to propose a patch, please commit into the "dev" branch. Direct commit to "master" are not permitted. Feature branches will also exist, typically to introduce new requirements, and be temporarily available for testing before merge into "dev" branch.