<div class="gmail_quote">On Fri, Jan 13, 2012 at 5:17 PM, Antoine Pitrou <span dir="ltr"><<a href="mailto:solipsis@pitrou.net">solipsis@pitrou.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, 12 Jan 2012 18:57:42 -0800<br>
<div class="im">Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br>
</div><div class="im">> Hm... I started out as a big fan of the randomized hash, but thinking more<br>
> about it, I actually believe that the chances of some legitimate app having<br>
> >1000 collisions are way smaller than the chances that somebody's code will<br>
> break due to the variable hashing.<br>
<br>
</div>Breaking due to variable hashing is deterministic: you notice it as<br>
soon as you upgrade (and then you use PYTHONHASHSEED to disable<br>
variable hashing). That seems better than unpredictable breaking when<br>
some legitimate collision chain happens.</blockquote></div><br>Fair enough. But I'm now uncomfortable with turning this on for bugfix releases. I'm fine with making this the default in 3.3, just not in 3.2, 3.1 or 2.x -- it will break too much code and organizations will have to roll back the release or do extensive testing before installing a bugfix release -- exactly what we *don't* want for those.<br>
<br>FWIW, I don't believe in the SafeDict solution -- you never know which dicts you have to change.<br clear="all"><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)<br>