]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-132657: optimize `PySet_Contains` for `frozenset` (GH-141183) (gh-141773)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 20 Nov 2025 01:01:49 +0000 (02:01 +0100)
committerGitHub <noreply@github.com>
Thu, 20 Nov 2025 01:01:49 +0000 (17:01 -0800)
(cherry picked from commit 7211a34fe1d9704935342af8c9b46725629f2d97)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Objects/setobject.c

index 9332c24ac8673b3f7baf2f3fa47bd32787987a7d..ff4844b24371e8af0236034c429b97dda846f8f5 100644 (file)
@@ -2746,7 +2746,9 @@ PySet_Contains(PyObject *anyset, PyObject *key)
         PyErr_BadInternalCall();
         return -1;
     }
-
+    if (PyFrozenSet_CheckExact(anyset)) {
+        return set_contains_key((PySetObject *)anyset, key);
+    }
     int rv;
     Py_BEGIN_CRITICAL_SECTION(anyset);
     rv = set_contains_key((PySetObject *)anyset, key);