seahasher: methods not inlinable
Created by: bluss
When looking at seahasher for the use case of single u32 keys for a hashmap, SeaHasher::{default, write_u32, finish} all show up in the profile; I don't think the compiler can inline any of these (without lto).
With lto, seahasher is on par with fnv for one benchmark.
Reproduce: https://gist.github.com/0d8d9889c18fc693fc637895642e8b44 (Run with cargo script, unfortunately it does not offer a simple way to enable lto).
without lto using single u32 keys:
test lookup_fnv ... bench: 78,449 ns/iter (+/- 15,799)
test lookup_seahash ... bench: 105,624 ns/iter (+/- 4,031)
test lookup_siphash ... bench: 102,166 ns/iter (+/- 5,840)