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 serhiy.storchaka
Recipients larry, rhettinger, serhiy.storchaka, vstinner, yselivanov
Date 2016-04-24.06:37:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1461479855.7.0.319818750067.issue26814@psf.upfronthosting.co.za>
In-reply-to
Content
I have collected statistics about using CALL_FUNCTION* opcodes in compliled code during running CPython testsuite. According to it, 99.4% emitted opcodes is the CALL_FUNCTION opcode, and 89% of emitted CALL_FUNCTION opcodes have only positional arguments, and 98% of them have not more than 3 arguments.

That was about calls from Python code. All convenient C API functions (like PyObject_CallFunction and PyObject_CallFunctionObjArgs) used for direct calling in C code use only positional arguments.

Thus I think we need to optimize only cases of calling with small number (0-3) of positional arguments.
History
Date User Action Args
2016-04-24 06:37:35serhiy.storchakasetrecipients: + serhiy.storchaka, rhettinger, vstinner, larry, yselivanov
2016-04-24 06:37:35serhiy.storchakasetmessageid: <1461479855.7.0.319818750067.issue26814@psf.upfronthosting.co.za>
2016-04-24 06:37:35serhiy.storchakalinkissue26814 messages
2016-04-24 06:37:35serhiy.storchakacreate