[Python-Dev] Why not using the hash when comparing strings? (original) (raw)

Benjamin Peterson benjamin at python.org
Fri Oct 19 14:56:42 CEST 2012


2012/10/19 Duncan Booth <duncan.booth at suttoncourtenay.org.uk>:

Hrvoje Niksic <hrvoje.niksic at avl.com> wrote:

On 10/19/2012 03:22 AM, Benjamin Peterson wrote: It would be interesting to see how common it is for strings which have their hash computed to be compared.

Since all identifier-like strings mentioned in Python are interned, and therefore have had their hash computed, I would imagine comparing them to be fairly common. After all, strings are often used as makeshift enums in Python. On the flip side, those strings are typically small, so a measurable overall speed improvement brought by such a change seems unlikely. I'm pretty sure it would result in a small slowdown.

Dictionary code has its own special path for string comparisons, so this is not an issue.

-- Regards, Benjamin



More information about the Python-Dev mailing list