this post was submitted on 11 Oct 2023
14 points (100.0% liked)

Rust Programming

8172 readers
20 users here now

founded 5 years ago
MODERATORS
 

I'm curious as to how the hashbrown crate can have up to 2x performance on certain operations, even though it looks like the standard library's HashMap is just a wrapper for hashbrown.

I understand that a wrapper could add a small overhead, but 50% of the original performance is a bit silly, especially considering all of the functions in the wrapper are #[inline], so there should be no overhead in calling most functions.

Does anyone know the reason for this?

you are viewing a single comment's thread
view the rest of the comments
[–] CPU@lemdro.id 11 points 1 year ago

hashbrown uses aHash by default, which is much faster than std's SipHash-1-3