Message233164
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
} |
|
Date |
User |
Action |
Args |
2014-12-29 08:15:42 | rhettinger | set | recipients:
+ rhettinger, pitrou |
2014-12-29 08:15:41 | rhettinger | set | messageid: <1419840942.0.0.931955644118.issue23119@psf.upfronthosting.co.za> |
2014-12-29 08:15:41 | rhettinger | link | issue23119 messages |
2014-12-29 08:15:40 | rhettinger | create | |
|