pub struct FastHasher { /* private fields */ }Expand description
A fast, non-cryptographic hasher for the decoder’s maps.
Every field read during validation and every element lookup goes through a
String-keyed map, and std’s SipHash made those lookups a measurable share
of a validation run. This is the multiply-rotate scheme of FxHash (as in
rustc-hash 2): a word at a time, with the high bits rotated down at the
end because hashbrown takes its bucket index from the low bits.
Written out rather than imported so the core crates carry no dependency for it. Not resistant to deliberately colliding keys, which is acceptable for a tool that reads grid model files rather than serving untrusted requests.
Trait Implementations§
Source§impl Clone for FastHasher
impl Clone for FastHasher
impl Copy for FastHasher
Source§impl Default for FastHasher
impl Default for FastHasher
Source§impl Hasher for FastHasher
impl Hasher for FastHasher
Source§fn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
Writes a single
usize into this hasher.1.26.0 · Source§fn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
Writes a single
u128 into this hasher.1.26.0 · Source§fn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
Writes a single
i128 into this hasher.1.3.0 · Source§fn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
Writes a single
isize into this hasher.Source§fn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras)Writes a length prefix into this hasher, as part of being prefix-free. Read more
Auto Trait Implementations§
impl Freeze for FastHasher
impl RefUnwindSafe for FastHasher
impl Send for FastHasher
impl Sync for FastHasher
impl Unpin for FastHasher
impl UnsafeUnpin for FastHasher
impl UnwindSafe for FastHasher
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more