[issue14621] Hash function is not randomized properly
Marc-Andre Lemburg
report at bugs.python.org
Wed Nov 7 12:19:16 CET 2012
Marc-Andre Lemburg added the comment:
On 07.11.2012 12:06, Armin Rigo wrote:
>
> Armin Rigo added the comment:
>
> Marc-André: estimating the risks of giving up on a valid query for a truly random hash, at an overestimated one billion queries per second, in a 2/3 full dictionary:
>
> * for 1000: 4E159 years between mistakes
>
> * for 100: 12.9 years between mistakes
>
> * for 150: 8E9 years between mistakes
>
> * for 200: 5E18 years between mistakes
>
> So while it seems that 100 might be a bit too small, using 150 to 200 is perfectly safe (and that's "perfect" in the sense that a computer will encounter random hardware errors at a higher rate than that).
I used the 1000 limit only as example. In tests Victor and I ran (see the
original ticket from a few months ago), 200 turned out to be a reasonable
number for the default maximum hash collision value.
I'm not sure about the slot collision limit. We'd have to run more tests
on those.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14621>
_______________________________________
More information about the Python-bugs-list
mailing list