Jeroen Demeyer <j.deme...@ugent.be> added the comment:

> I've posted several SeaHash cores that suffer no collisions at all in any of 
> our tests (including across every "bad example" in these 100+ messages), 
> except for "the new" tuple test.  Which it also passed, most recently with 7 
> collisions.  That was under 64-bit builds, though, and from what follows I 
> figure you're only looking at 32-bit builds for now.

Note that I'm always considering parametrized versions of the hash functions 
that I'm testing. I'm replacing the fixed multiplier (all algorithms mentioned 
here have such a thing) by a random multiplier which is 3 mod 8. I keep the 
other constants. This allows me to look at the *probability* of passing the 
testsuite. That says a lot more than a simple yes/no answer for a single test. 
You don't want to pass the testsuite by random chance, you want to pass the 
testsuite because you have a high probability of passing it.

And I'm testing 32-bit hashes indeed since we need to support that anyway and 
the probability of collisions is high enough to get interesting statistical 
data.

For SeaHash, the probability of passing my new tuple test was only around 55%. 
For xxHash, this was about 85%. Adding some input mangling improved both 
scores, but the xxHash variant was still better than SeaHash.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue34751>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to