diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-11-06 23:46:04 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-11-06 23:46:04 (GMT) |
commit | ad14ccd047022d09f486d2359a342ffc5e676e5a (patch) | |
tree | 8ddf45c544c55f71d3aa1a877bd6b6d136d972f9 /Include | |
parent | 937114f7043d6a52172a34fe04febcc5ed0eaed9 (diff) | |
download | cpython-ad14ccd047022d09f486d2359a342ffc5e676e5a.zip cpython-ad14ccd047022d09f486d2359a342ffc5e676e5a.tar.gz cpython-ad14ccd047022d09f486d2359a342ffc5e676e5a.tar.bz2 |
Issue #19512: add _PyUnicode_CompareWithId() function
_PyUnicode_CompareWithId() is faster than PyUnicode_CompareWithASCIIString()
when both strings are equal and interned.
Add also _PyId_builtins identifier for "builtins" common string.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/object.h | 5 | ||||
-rw-r--r-- | Include/unicodeobject.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Include/object.h b/Include/object.h index a36c5be..27f48a5 100644 --- a/Include/object.h +++ b/Include/object.h @@ -147,9 +147,10 @@ typedef struct _Py_Identifier { #define _Py_static_string(varname, value) static _Py_Identifier varname = _Py_static_string_init(value) #define _Py_IDENTIFIER(varname) _Py_static_string(PyId_##varname, #varname) -/* Common identifiers */ -PyAPI_DATA(_Py_Identifier) _PyId_path; +/* Common identifiers (ex: _PyId_path is the string "path") */ PyAPI_DATA(_Py_Identifier) _PyId_argv; +PyAPI_DATA(_Py_Identifier) _PyId_builtins; +PyAPI_DATA(_Py_Identifier) _PyId_path; PyAPI_DATA(_Py_Identifier) _PyId_stdin; PyAPI_DATA(_Py_Identifier) _PyId_stdout; PyAPI_DATA(_Py_Identifier) _PyId_stderr; diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index 6d830c0..20ce41d 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -1996,6 +1996,11 @@ PyAPI_FUNC(int) PyUnicode_Compare( PyObject *right /* Right string */ ); +PyAPI_FUNC(int) _PyUnicode_CompareWithId( + PyObject *left, /* Left string */ + _Py_Identifier *right /* Right identifier */ + ); + PyAPI_FUNC(int) PyUnicode_CompareWithASCIIString( PyObject *left, const char *right /* ASCII-encoded string */ |