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 arigo
Recipients Arfrever, PaulMcMillan, Vlado.Boza, arigo, benjamin.peterson, christian.heimes, dmalcolm, koniiiik, lemburg, serhiy.storchaka, vstinner
Date 2012-11-06.14:10:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1352211027.96.0.74785132029.issue14621@psf.upfronthosting.co.za>
In-reply-to
Content
Benjamin: oups, sorry.  I don't remember setting the "easy" keyword, my mistake.

Fwiw I'm +1 on Marc-Andre's solution.  Make it a tunable setting, e.g. with sys.setcollisionlimit().  Defaults to sys.maxint on existing Pythons and some smaller value (70?) on new Pythons.  It has the same benefits as the recursion limit: it's theoretically bad, but most of the time very useful.

It would also crash on bad usages of custom __hash__() methods: e.g. if you put a lot of keys in a dict, all with a custom __hash__() that returns 42.  I imagine that it can be considered a good thing to raise in this case rather than silently degrade performance forever.
History
Date User Action Args
2012-11-06 14:10:28arigosetrecipients: + arigo, lemburg, vstinner, christian.heimes, benjamin.peterson, Arfrever, dmalcolm, PaulMcMillan, serhiy.storchaka, Vlado.Boza, koniiiik
2012-11-06 14:10:27arigosetmessageid: <1352211027.96.0.74785132029.issue14621@psf.upfronthosting.co.za>
2012-11-06 14:10:27arigolinkissue14621 messages
2012-11-06 14:10:26arigocreate