Raymond Hettinger added the comment:
Attaching an alternative patch that handles the unicode specific case with far
less code and less overhead. It seems to speed-up all the timings I've tried.
It keeps the unicode_eq() specific path which bypasses several unneeded steps:
* an incref/decref of the startkey
* an incref/decref of Py_True or Py_False
* Py_Enter/LeaveRecursive call overhead
* A NotImplemented check
* Various indirections, null checks, xor bool result, and several nested
function calls that save and restore registers
* Test for an error result
* Test for changed table or entry
usual incref/decref, richbool, richcmp, tablesize_change, errorcheck,
recursion depth, check for NotImplemented, conv to PyTrue/False, incr/dec
Py_True/Py_False, conv back to int
}
----------
Added file: http://bugs.python.org/file37552/move_unicode_inside.diff
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue23119>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com