Don't parenthesis in _PyObject_CallMethodId() format

Issue #28915: Without parenthesis, _PyObject_CallMethodId() avoids the creation
a temporary tuple, and so is more efficient.
This commit is contained in:
Victor Stinner 2016-12-09 00:33:39 +01:00
parent ef7def94c7
commit 4c38154a43
3 changed files with 3 additions and 3 deletions

View File

@ -4673,7 +4673,7 @@ datetime_repr(PyDateTime_DateTime *self)
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 *

View File

@ -5716,7 +5716,7 @@ PyInit__decimal(void)
/* 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"));

View File

@ -335,7 +335,7 @@ raise_errmsg(const char *msg, PyObject *s, Py_ssize_t end)
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);