diff options
author | Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> | 2022-03-01 23:46:30 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-01 23:46:30 -0500 |
commit | 6ddb09f35b922a3bbb59e408a3ca7636a6938468 (patch) | |
tree | 26b0fbc0a99455f9393e5570ef884999e792ba93 /Objects/bytesobject.c | |
parent | 9833bb91e4d5c2606421d9ec2085f5c2dfb6f72c (diff) | |
download | cpython-6ddb09f35b922a3bbb59e408a3ca7636a6938468.tar.gz cpython-6ddb09f35b922a3bbb59e408a3ca7636a6938468.zip |
bpo-46848: Use stringlib/fastsearch in mmap (GH-31625)
Speed up mmap.find(). Add _PyBytes_Find() and _PyBytes_ReverseFind().
Diffstat (limited to 'Objects/bytesobject.c')
-rw-r--r-- | Objects/bytesobject.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index 3d8a21696d1..4c67b8f7af2 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -1247,6 +1247,24 @@ PyBytes_AsStringAndSize(PyObject *obj, #undef STRINGLIB_GET_EMPTY +Py_ssize_t +_PyBytes_Find(const char *haystack, Py_ssize_t len_haystack, + const char *needle, Py_ssize_t len_needle, + Py_ssize_t offset) +{ + return stringlib_find(haystack, len_haystack, + needle, len_needle, offset); +} + +Py_ssize_t +_PyBytes_ReverseFind(const char *haystack, Py_ssize_t len_haystack, + const char *needle, Py_ssize_t len_needle, + Py_ssize_t offset) +{ + return stringlib_rfind(haystack, len_haystack, + needle, len_needle, offset); +} + PyObject * PyBytes_Repr(PyObject *obj, int smartquotes) { |