FxHasher is what the compiler uses in a lot of places. Using it mostly requires understanding its properties and when it’s best (it’s faster than fnv hash in many cases).
/// A speedy hash algorithm for use within rustc. The hashmap in libcollections /// by default uses SipHash which isn't quite as speedy as we want. In the /// compiler we're not really worried about DOS attempts, so we use a fast /// non-cryptographic hash. /// /// This is the same as the algorithm used by Firefox -- which is a homespun /// one not based on any widely-known algorithm -- though modified to produce /// 64-bit hash values instead of 32-bit hash values. It consistently /// out-performs an FNV-based hash within rustc itself -- the collision rate is /// similar or slightly worse than FNV, but the speed of the hash function /// itself is much higher because it works on up to 8 bytes at a time.