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 == Py_EQ || op == Py_NE) > && a->ob_shash != -1 > && b->ob_shash != -1 > && a->ob_shash != b->ob_shash) { > /* strings are not equal */ > } > > There are hash collision, so a->ob_shash == b->ob_shash 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4