CityHash

CityHash

CityHash is a family of non-cryptographic hash functions, designed for fast hashing of strings. It has 64-, 128-, and 256-bit variants.

Google developed the algorithm in-house starting in 2010[1]. The C++ source code for the reference implementation of the algorithm was released in 2011 under an MIT license, with credit to Geoff Pike and Jyrki Alakuijala[2]. The authors expect the algorithm to outperform previous work by a factor of 1.3 to 2.5[3], "largely due to higher instruction-level parallelism."[4] CityHash is influenced by and partly based on MurmurHash.[5]

Some particularly fast CityHash functions depend on CRC32 instructions that are present in SSE4.2. Others are designed to be portable, though they will run best on little-endian 64-bit CPUs.[3]

The reference code comments warn that it has not been tested on big-endian platforms.[4]

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”