![]() XxHash has been tested with Austin Appleby's excellent SMHasher test suite,Īnd passes all tests, ensuring reasonable quality levels. So that any sub-section of it can be used to maximally spread out a table or index,Īs well as reduce the amount of collisions to the minimal theoretical level, following the birthday paradox. Produced hash values must respect excellent dispersion and randomness properties, Speed is not the only property that matters. Which can be observed in the following graph:įor a more detailed analysis, please visit the wiki : XXH3 has been designed for excellent performance on both long and small inputs, The impact of branch mis-prediction also becomes much more present. Such as initialization or finalization, become fixed cost. In these use cases, it's frequent to hash a lot of small data (starting at a few bytes).Īlgorithm's performance can be very different for such scenarios, since parts of the algorithm, Hashing is also very useful in constructions like hash tables and bloom filters. Performance on large data is only one part of the picture. Otherwise, they max out on RAM speed limit. In which case, they can only reach their full speed potential when input is already in CPU cache (元 or better). Note 2: some algorithms feature faster than RAM speed. For more detailed analysis, please refer to next paragraph. Note 1: Small data velocity is a rough evaluation of algorithm's efficiency on small data. The open source benchmark program is compiled with clang v10.0 using -O3 flag. The benchmarked reference system uses an Intel i7-9700K cpu, and runs Ubuntu 圆4 20.04. ![]() Which evaluates the quality of hash functions (collision, dispersion and randomness).Īdditional tests, which evaluate more thoroughly speed and collision properties of 64-bit hashes, are also provided. XXH3 (since v0.8.0): generates 64 or 128-bit hashes, using vectorized arithmetic.Īll variants successfully complete the SMHasher test suite.XXH64 : generates 64-bit hashes, using 64-bit arithmetic.XXH32 : generates 32-bit hashes, using 32-bit arithmetic.The library includes the following algorithms : XxHash is an Extremely fast Hash algorithm, processing at RAM speed limits.Ĭode is highly portable, and produces hashes identical across all platforms (little / big endian). ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |