[Python-Dev] Why not using the hash when comparing strings? (original) (raw)
Benjamin Peterson benjamin at python.org
Fri Oct 19 03:22:32 CEST 2012
- Previous message: [Python-Dev] Why not using the hash when comparing strings?
- Next message: [Python-Dev] Why not using the hash when comparing strings?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2012/10/18 Victor Stinner <victor.stinner at gmail.com>:
Hi,
I would like to know if there a reason for not using the hash of (bytes or unicode) strings when comparing two objects and the hash of the two objects was already been computed. Using the hash would speed up comparaison of long strings when the two strings are different. Something like: if ((op == PyEQ || op == PyNE) && a->obshash != -1 && b->obshash != -1 && a->obshash != b->obshash) { /* strings are not equal */ } There are hash collision, so a->obshash == b->obshash doesn't mean that the two strings are equal. But if the two hashs are different, the two strings are different. Isn't it?
It would be interesting to see how common it is for strings which have their hash computed to be compared.
-- Regards, Benjamin
- Previous message: [Python-Dev] Why not using the hash when comparing strings?
- Next message: [Python-Dev] Why not using the hash when comparing strings?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]