English

Strongly universal string hashing is fast

Databases 2018-09-24 v6 Data Structures and Algorithms

Abstract

We present fast strongly universal string hashing families: they can process data at a rate of 0.2 CPU cycle per byte. Maybe surprisingly, we find that these families---though they require a large buffer of random numbers---are often faster than popular hash functions with weaker theoretical guarantees. Moreover, conventional wisdom is that hash functions with fewer multiplications are faster. Yet we find that they may fail to be faster due to operation pipelining. We present experimental results on several processors including low-powered processors. Our tests include hash functions designed for processors with the Carry-Less Multiplication (CLMUL) instruction set. We also prove, using accessible proofs, the strong universality of our families.

Keywords

Cite

@article{arxiv.1202.4961,
  title  = {Strongly universal string hashing is fast},
  author = {Owen Kaser and Daniel Lemire},
  journal= {arXiv preprint arXiv:1202.4961},
  year   = {2018}
}

Comments

Software is available at http://code.google.com/p/variablelengthstringhashing/ and https://github.com/lemire/StronglyUniversalStringHashing

R2 v1 2026-06-21T20:23:32.036Z