Aleksey Vaneev
Aleksey Vaneev
So, a sub-hasher is probably needed that will look like: komihash
In my proposal I've assumed zero-terminated strings, so their lengths are non-zero even when they are empty. But that's also not perfect, because individual zero binary bytes can also happen...
I do not think you need "another instance". A simple hash value stack will suffice, because the hashing function uses local variables only. Your example above collides with {"ab", "cd",...
I think that additional overhead for hash value stack would be much lower than the overhead associated with storing string lengths and types (for polymorphic objects), and *buffering* of course....
No, it is not in SMHasher. Here's the code you can try if you have SMHasher, simply change komihash() to komihash_di() call in SMHasher code. (its hash identifier differs, though)...
Please update the hash.
Hm. Still shows 12GB/s without apparent reason. Do you have clang installed? Could you run the test with clang, or with GCC on some other computer? As some comments on...
As for the SMHasher timing per hash, it's now good at 33cycles. However, your cycles/map measurements are not very stable-I've noticed that by `wyhash` - it was 216, now 236,...
komihash 5.10 is faster than wyhash on Zen5.
Yes, I saw other benchmarks. On EPYC komihash performs a lot better. I think the standard should target processors that are on a wide server, desktop, and laptop market now...