You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rapidhash is a non-cryptographic hash I've seen picking up some steam in a lot of other ecosystems.
its predecessor, wyhash, is already the default hashing algorithm in Zig, Nim, and Go. and in comparison rapidhash is both faster and a higher quality hash.
I did a sloppy mockup (pure Julia) and found suggestions that hashing UInt64 can be already 30% faster than current Base.hash and since pretty much all the other hash methods end up calling hash(::UInt64) then performance improvements here could propagate a long way. And due to the higher quality hash, seeing fewer collisions can also be a big performance benefit for many data structures
It's also a keyed hash with secrets easy enough to generate on startup if desired, so it could help address #37166 in practice (although not fully cryptographically)
if this seems like something that could plausibly be merged in a 1.x release I'd be interested in working on this.
The text was updated successfully, but these errors were encountered:
probably better as an issue than a zulip thread
rapidhash is a non-cryptographic hash I've seen picking up some steam in a lot of other ecosystems.
its predecessor, wyhash, is already the default hashing algorithm in Zig, Nim, and Go. and in comparison
rapidhash
is both faster and a higher quality hash.I did a sloppy mockup (pure Julia) and found suggestions that hashing
UInt64
can be already 30% faster than currentBase.hash
and since pretty much all the otherhash
methods end up callinghash(::UInt64)
then performance improvements here could propagate a long way. And due to the higher quality hash, seeing fewer collisions can also be a big performance benefit for many data structuresIt's also a keyed hash with secrets easy enough to generate on startup if desired, so it could help address #37166 in practice (although not fully cryptographically)
if this seems like something that could plausibly be merged in a 1.x release I'd be interested in working on this.
The text was updated successfully, but these errors were encountered: