Skip to content

Commit 9b32b89

Browse files
authored
Add fast path in count_elements (gh-120983)
1 parent bb057ea commit 9b32b89

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Modules/_collectionsmodule.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2575,7 +2575,11 @@ _collections__count_elements_impl(PyObject *module, PyObject *mapping,
25752575
oldval = PyObject_CallFunctionObjArgs(bound_get, key, zero, NULL);
25762576
if (oldval == NULL)
25772577
break;
2578-
newval = PyNumber_Add(oldval, one);
2578+
if (oldval == zero) {
2579+
newval = Py_NewRef(one);
2580+
} else {
2581+
newval = PyNumber_Add(oldval, one);
2582+
}
25792583
Py_DECREF(oldval);
25802584
if (newval == NULL)
25812585
break;

0 commit comments

Comments
 (0)