2 comments

[ 3.1 ms ] story [ 16.4 ms ] thread
The performance complaints seem to be mostly about buffer management. Rust hashers may flush their internal buffers whenever they want, as long as it's deterministic:

> Thus to produce the same hash value, Hash implementations must ensure for equivalent items that exactly the same sequence of calls is made – the same methods with the same parameters in the same order.

https://doc.rust-lang.org/std/hash/trait.Hasher.html

This permission does not grant the hasher any ability to detect when flushing is most efficient. Nor does constant flushing help with performance.