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 vstinner
Recipients methane, serhiy.storchaka, vstinner
Date 2017-02-09.12:39:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> method_fastcall2.patch is tuning same function (call_method() in typeobject.c), and uses trick to bypass temporary method object (same to _PyObject_GetMethod()).

Oh, great idea! That's why I put you in the nosy list ;-) You know better than me this area of the code.

> Median +- std dev: [python.default] 155 ns +- 4 ns -> [python] 111 ns +- 1 ns: 1.40x faster (-28%)

Wow, much better than my patch. Good job!

Can we implement the same optimization in callmethod() of Objects/abstract.c? Maybe add a "is_method" argument to the static function _PyObject_CallFunctionVa(), to only enable the optimization for callmehod().
Date User Action Args
2017-02-09 12:39:32vstinnersetrecipients: + vstinner, methane, serhiy.storchaka
2017-02-09 12:39:32vstinnersetmessageid: <>
2017-02-09 12:39:32vstinnerlinkissue29507 messages
2017-02-09 12:39:32vstinnercreate