STINNER Victor added the comment:

> 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().

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29507>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to