Mercurial > cpython-lru_cache-weakref
diff Python/bltinmodule.c @ 50615:45aef53f5c71
Mini-optimization: use pack/unpack functions for argument tuples.
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Tue, 06 Jan 2009 09:37:13 +0000 |
| parents | 1146b7b0d518 |
| children | c99ce0164699 |
line wrap: on
line diff
--- a/Python/bltinmodule.c Mon Jan 05 17:10:09 2009 +0000 +++ b/Python/bltinmodule.c Tue Jan 06 09:37:13 2009 +0000 @@ -112,7 +112,7 @@ ns = PyDict_New(); } else { - PyObject *pargs = Py_BuildValue("OO", name, bases); + PyObject *pargs = PyTuple_Pack(2, name, bases); if (pargs == NULL) { Py_DECREF(prep); Py_DECREF(meta); @@ -133,7 +133,7 @@ cell = PyObject_CallFunctionObjArgs(func, ns, NULL); if (cell != NULL) { PyObject *margs; - margs = Py_BuildValue("OOO", name, bases, ns); + margs = PyTuple_Pack(3, name, bases, ns); if (margs != NULL) { cls = PyEval_CallObjectWithKeywords(meta, margs, mkw); Py_DECREF(margs); @@ -754,7 +754,7 @@ PyObject *prog, *globals = Py_None, *locals = Py_None; int plain = 0; - if (!PyArg_ParseTuple(args, "O|OO:exec", &prog, &globals, &locals)) + if (!PyArg_UnpackTuple(args, "exec", 1, 3, &prog, &globals, &locals)) return NULL; if (globals == Py_None) {
