Thanks to visit codestin.com
Credit goes to lib.rs

#hashing #city-hash #murmur-hash #google #idea #austin #version

farmhash

Farmhash is a successor to Cityhash (also from Google). Farmhash, like Cityhash before it, use ideas from Austin Appleby's MurmurHash.

6 stable releases

Uses old Rust 2015

1.1.5 Mar 20, 2016
1.1.4 Sep 2, 2015
1.1.2 Jul 15, 2015
1.1.0 Jul 13, 2015

#2272 in Algorithms

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

87,198 downloads per month
Used in 19 crates (18 directly)

MIT license

2MB
982 lines

rust-farmhash

Port of Google's Farmhash version 1.1 to pure Rust

For more on Farmhash see https://code.google.com/p/farmhash/

Farmhash is a successor to Cityhash (also from Google). Farmhash, like Cityhash before it, use ideas from Austin Appleby's MurmurHash.

Example usage

extern crate farmhash;

...

let value: &str = "hello world";
let res32 = farmhash::hash32(&value.as_bytes());
// res32 ==> 430397466
let res64 = farmhash::hash64(&value.as_bytes());
// res64 ==> 6381520714923946011

Benchmarks

Tested on /usr/share/dict/web2 on Mac OSX

farmhash: required 0.06485s with 0/235887 collisions
fnv:      required 0.12042s with 1/235887 collisions
siphash:  required 0.23546s with 0/235887 collisions

Note

Since FarmHash is not a streaming hash. It is recommended to use the function hash64 or hash32 directly. Using the hasher interface will give you a different result if you write the same bytearray in chunks before calling finish.

No runtime deps