pub struct VTableHasher(/* private fields */);Expand description
FNV-1a hasher used exclusively for the vtable deduplication map.
VTable bytes are short (typically 4–30 bytes) and highly repetitive within a single serialization — all elements of the same list type share an identical vtable. FNV-1a is fast for short keys and produces good distribution for this workload without the overhead of SipHash.
Trait Implementations§
Source§impl Hasher for VTableHasher
impl Hasher for VTableHasher
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.3.0 · 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_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 VTableHasher
impl RefUnwindSafe for VTableHasher
impl Send for VTableHasher
impl Sync for VTableHasher
impl Unpin for VTableHasher
impl UnsafeUnpin for VTableHasher
impl UnwindSafe for VTableHasher
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