This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author scoder
Recipients dstufft, josh.r, rhettinger, scoder
Date 2015-03-20.07:15:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1426835714.06.0.607939708311.issue23712@psf.upfronthosting.co.za>
In-reply-to
Content
The problem is, even if the chance is excessively small, it's not zero. Meaning, someone's data set somewhere will break somehow. And with hash randomisation, it'll mean that the problem spotted in some life system will be entirely unreproducible without knowing the exact hash seed value that triggered it (i.e. not at all in a debug setup, definitely not in a test suite).

Unequal keys accidentally comparing equal in a dict is something that wouldn't necessarily crash loudly. It may just lead to very subtly incorrect results, e.g. one lost item in an intermediate step of a process, and half a cent up or down in the final result.

Don't get me wrong, I think this is a very interesting idea and worth exploring. But I'd be very reluctant to introduce it into the core language general purpose data types.

As for Python implementation dicts, the keys in there will normally be interned, so the lookup will not compare the strings but only their pointers. Nothing to win on that front, really.
History
Date User Action Args
2015-03-20 07:15:14scodersetrecipients: + scoder, rhettinger, dstufft, josh.r
2015-03-20 07:15:14scodersetmessageid: <1426835714.06.0.607939708311.issue23712@psf.upfronthosting.co.za>
2015-03-20 07:15:14scoderlinkissue23712 messages
2015-03-20 07:15:13scodercreate