Optimize findchar() for PyUnicode_1BYTE_KIND: use memchr and memrchr
This commit is contained in:
parent
dd4e2f0153
commit
9e7a1bcfd6
@ -530,6 +530,14 @@ Py_LOCAL_INLINE(char *) findchar(void *s, int kind,
|
|||||||
{
|
{
|
||||||
/* like wcschr, but doesn't stop at NULL characters */
|
/* like wcschr, but doesn't stop at NULL characters */
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
|
if (kind == 1) {
|
||||||
|
if (direction == 1)
|
||||||
|
return memchr(s, ch, size);
|
||||||
|
#ifdef HAVE_MEMRCHR
|
||||||
|
else
|
||||||
|
return memrchr(s, ch, size);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
if (direction == 1) {
|
if (direction == 1) {
|
||||||
for(i = 0; i < size; i++)
|
for(i = 0; i < size; i++)
|
||||||
if (PyUnicode_READ(kind, s, i) == ch)
|
if (PyUnicode_READ(kind, s, i) == ch)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user