This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mdk
Recipients larry, martin.panter, mdk, rhettinger, vstinner
Date 2016-11-26.10:26:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1480155997.31.0.690632174709.issue28754@psf.upfronthosting.co.za>
In-reply-to
Content
Hi Raymond,

> Curiously, this patch gives about a 10% to 15% speedup.  Any sense of how that improvement arises?

That's because Argument Clinic is generating methoddef with METH_FASTCALL:

$ grep FASTCALL Modules/clinic/_bisectmodule.c.h 
    {"bisect_right", (PyCFunction)bisect_bisect_right, METH_FASTCALL, bisect_bisect_right__doc__},
    {"insort_right", (PyCFunction)bisect_insort_right, METH_FASTCALL, bisect_insort_right__doc__},
    {"bisect_left", (PyCFunction)bisect_bisect_left, METH_FASTCALL, bisect_bisect_left__doc__},
    {"insort_left", (PyCFunction)bisect_insort_left, METH_FASTCALL, bisect_insort_left__doc__},

Instead of METH_VARARGS|METH_KEYWORDS:

-    {"bisect_right", (PyCFunction)bisect_right,
-        METH_VARARGS|METH_KEYWORDS, bisect_right_doc},
-    {"insort_right", (PyCFunction)insort_right,
-        METH_VARARGS|METH_KEYWORDS, insort_right_doc},
-    {"bisect_left", (PyCFunction)bisect_left,
-        METH_VARARGS|METH_KEYWORDS, bisect_left_doc},
-    {"insort_left", (PyCFunction)insort_left,
-        METH_VARARGS|METH_KEYWORDS, insort_left_doc},
History
Date User Action Args
2016-11-26 10:26:37mdksetrecipients: + mdk, rhettinger, vstinner, larry, martin.panter
2016-11-26 10:26:37mdksetmessageid: <1480155997.31.0.690632174709.issue28754@psf.upfronthosting.co.za>
2016-11-26 10:26:37mdklinkissue28754 messages
2016-11-26 10:26:37mdkcreate