[Python-checkins] Remove micro-optimization that no longer shows a benefit. (GH-32397)

rhettinger webhook-mailer at python.org
Wed Apr 6 23:00:55 EDT 2022


https://github.com/python/cpython/commit/5aee46b31ba37d65cdf4d5a96cabb8835c508deb
commit: 5aee46b31ba37d65cdf4d5a96cabb8835c508deb
branch: main
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: rhettinger <rhettinger at users.noreply.github.com>
date: 2022-04-06T22:00:47-05:00
summary:

Remove micro-optimization that no longer shows a benefit. (GH-32397)

files:
M Modules/_collectionsmodule.c

diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index f78e2613fc243..18c762b21754b 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -1536,12 +1536,6 @@ deque_sizeof(dequeobject *deque, void *unused)
 PyDoc_STRVAR(sizeof_doc,
 "D.__sizeof__() -- size of D in memory, in bytes");
 
-static int
-deque_bool(dequeobject *deque)
-{
-    return Py_SIZE(deque) != 0;
-}
-
 static PyObject *
 deque_get_maxlen(dequeobject *deque, void *Py_UNUSED(ignored))
 {
@@ -1572,20 +1566,6 @@ static PySequenceMethods deque_as_sequence = {
     (ssizeargfunc)deque_inplace_repeat, /* sq_inplace_repeat */
 };
 
-static PyNumberMethods deque_as_number = {
-    0,                                  /* nb_add */
-    0,                                  /* nb_subtract */
-    0,                                  /* nb_multiply */
-    0,                                  /* nb_remainder */
-    0,                                  /* nb_divmod */
-    0,                                  /* nb_power */
-    0,                                  /* nb_negative */
-    0,                                  /* nb_positive */
-    0,                                  /* nb_absolute */
-    (inquiry)deque_bool,                /* nb_bool */
-    0,                                  /* nb_invert */
- };
-
 static PyObject *deque_iter(dequeobject *deque);
 static PyObject *deque_reviter(dequeobject *deque, PyObject *Py_UNUSED(ignored));
 PyDoc_STRVAR(reversed_doc,
@@ -1650,7 +1630,7 @@ static PyTypeObject deque_type = {
     0,                                  /* tp_setattr */
     0,                                  /* tp_as_async */
     deque_repr,                         /* tp_repr */
-    &deque_as_number,                   /* tp_as_number */
+    0,                                  /* tp_as_number */
     &deque_as_sequence,                 /* tp_as_sequence */
     0,                                  /* tp_as_mapping */
     PyObject_HashNotImplemented,        /* tp_hash */



More information about the Python-checkins mailing list