diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-11-22 15:30:38 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-11-22 15:30:38 +0100 |
commit | 4d83386bceca38593641c1921fb175a541fb88c2 (patch) | |
tree | 79bd1f4d84125fb2e088792b9423c291565b1635 /Modules/_sre.c | |
parent | 2970b7895c51700cc335e59e7b4a141cc9b35a75 (diff) | |
download | cpython-4d83386bceca38593641c1921fb175a541fb88c2.tar.gz |
Issue #28727: Optimize pattern_richcompare() for a==a
A pattern is equal to itself.
Diffstat (limited to 'Modules/_sre.c')
-rw-r--r-- | Modules/_sre.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/_sre.c b/Modules/_sre.c index 1b7741696d..979e61fb53 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -2683,6 +2683,12 @@ pattern_richcompare(PyObject *lefto, PyObject *righto, int op) if (Py_TYPE(lefto) != &Pattern_Type || Py_TYPE(righto) != &Pattern_Type) { Py_RETURN_NOTIMPLEMENTED; } + + if (lefto == righto) { + /* a pattern is equal to itself */ + return PyBool_FromLong(op == Py_EQ); + } + left = (PatternObject *)lefto; right = (PatternObject *)righto; |