changeset: 105538:b9eb35435178 user: Victor Stinner date: Fri Dec 09 00:33:39 2016 +0100 files: Modules/_datetimemodule.c Modules/_decimal/_decimal.c Modules/_json.c description: Don't parenthesis in _PyObject_CallMethodId() format Issue #28915: Without parenthesis, _PyObject_CallMethodId() avoids the creation a temporary tuple, and so is more efficient. diff -r 69948a157507 -r b9eb35435178 Modules/_datetimemodule.c --- a/Modules/_datetimemodule.c Fri Dec 09 00:31:47 2016 +0100 +++ b/Modules/_datetimemodule.c Fri Dec 09 00:33:39 2016 +0100 @@ -4673,7 +4673,7 @@ static PyObject * datetime_str(PyDateTime_DateTime *self) { - return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "(s)", " "); + return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "s", " "); } static PyObject * diff -r 69948a157507 -r b9eb35435178 Modules/_decimal/_decimal.c --- a/Modules/_decimal/_decimal.c Fri Dec 09 00:31:47 2016 +0100 +++ b/Modules/_decimal/_decimal.c Fri Dec 09 00:33:39 2016 +0100 @@ -5716,7 +5716,7 @@ /* DecimalTuple */ ASSIGN_PTR(collections, PyImport_ImportModule("collections")); ASSIGN_PTR(DecimalTuple, (PyTypeObject *)PyObject_CallMethod(collections, - "namedtuple", "(ss)", "DecimalTuple", + "namedtuple", "ss", "DecimalTuple", "sign digits exponent")); ASSIGN_PTR(obj, PyUnicode_FromString("decimal")); diff -r 69948a157507 -r b9eb35435178 Modules/_json.c --- a/Modules/_json.c Fri Dec 09 00:31:47 2016 +0100 +++ b/Modules/_json.c Fri Dec 09 00:33:39 2016 +0100 @@ -335,7 +335,7 @@ if (JSONDecodeError == NULL) return; } - exc = PyObject_CallFunction(JSONDecodeError, "(zOn)", msg, s, end); + exc = PyObject_CallFunction(JSONDecodeError, "zOn", msg, s, end); if (exc) { PyErr_SetObject(JSONDecodeError, exc); Py_DECREF(exc);