From: Raymond Hettinger Date: Tue, 25 Jun 2024 08:10:00 +0000 (-0500) Subject: Add fast path in count_elements (gh-120983) X-Git-Tag: v3.14.0a1~1336 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9b32b890749b7843cd3e087baa89390fde634859;p=thirdparty%2FPython%2Fcpython.git Add fast path in count_elements (gh-120983) --- diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index 644a90a8c710..641d57a64c83 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -2575,7 +2575,11 @@ _collections__count_elements_impl(PyObject *module, PyObject *mapping, oldval = PyObject_CallFunctionObjArgs(bound_get, key, zero, NULL); if (oldval == NULL) break; - newval = PyNumber_Add(oldval, one); + if (oldval == zero) { + newval = Py_NewRef(one); + } else { + newval = PyNumber_Add(oldval, one); + } Py_DECREF(oldval); if (newval == NULL) break;