summaryrefslogtreecommitdiff
path: root/Objects/setobject.c
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2016-02-04 02:46:16 -0800
committerRaymond Hettinger <python@rcn.com>2016-02-04 02:46:16 -0800
commitbaa4ac7ed417e9859bdd16ccb2f4c9d0fcb40f45 (patch)
treeef80425ff17e05312c1e25b350cfb92199b96b69 /Objects/setobject.c
parent4f3c2984ace4f80b473ed599bc85d4c3519e3ae2 (diff)
downloadcpython-baa4ac7ed417e9859bdd16ccb2f4c9d0fcb40f45.tar.gz
Add early-out for the common case where kwds is NULL (gives 1.1% speedup).
Diffstat (limited to 'Objects/setobject.c')
-rw-r--r--Objects/setobject.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 8cb3f364c5..c9834a89e2 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -1088,7 +1088,8 @@ frozenset_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
PyObject *iterable = NULL, *result;
- if (type == &PyFrozenSet_Type && !_PyArg_NoKeywords("frozenset()", kwds))
+ if (kwds != NULL && type == &PyFrozenSet_Type
+ && !_PyArg_NoKeywords("frozenset()", kwds))
return NULL;
if (!PyArg_UnpackTuple(args, type->tp_name, 0, 1, &iterable))
@@ -1130,7 +1131,7 @@ PySet_Fini(void)
static PyObject *
set_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- if (type == &PySet_Type && !_PyArg_NoKeywords("set()", kwds))
+ if (kwds != NULL && type == &PySet_Type && !_PyArg_NoKeywords("set()", kwds))
return NULL;
return make_new_set(type, NULL);