fn fx_hash(bytes: &[u8]) -> u64Expand description
wrapping_mul-and-xor mix loop. Fast on short inputs (the dominant
case for Aozora ruby readings); avoids the per-call state setup
cost of std SipHash.
An 8-byte-chunk fast path with an xxHash-style avalanche was tried and reverted. For the typical 3-byte single-codepoint reading the avalanche’s two extra multiplications cost more than the per-byte loop saves; corpus throughput moved within noise (-4 % to +2 % depending on band). The byte loop fits in a few cycles on short inputs and is hard to beat without a different hash family. Keeping the simple shape.