Dennis Sweeney <sweeney.dennis...@gmail.com> added the comment:

For what it's worth, in my benchmarks on 3.11, methodcaller was already a bit 
faster than lambda:

#################### Builtin calls ####################

PS > .\python.bat -m pyperf timeit -s "from operator import methodcaller as mc" 
-s "reverse_it = mc('reverse')" -s "arr = []" "reverse_it(arr)"
Running Release|x64 interpreter...
.....................
Mean +- std dev: 84.3 ns +- 1.9 ns

PS >.\python.bat -m pyperf timeit -s "reverse_it = lambda x: x.reverse()" -s 
"arr = []" "reverse_it(arr)"
Running Release|x64 interpreter...
.....................
Mean +- std dev: 95.5 ns +- 2.9 ns

#################### Python calls ####################

PS > .\python.bat -m pyperf timeit -s "from operator import methodcaller as mc" 
-s "reverse_it = mc('reverse')" -s "class A: reverse = lambda self: None" -s 
"arr=A()" "reverse_it(arr)"
Running Release|x64 interpreter...
.....................
Mean +- std dev: 140 ns +- 4 ns
PS > .\python.bat -m pyperf timeit -s "reverse_it = lambda x: x.reverse()" -s 
"class A: reverse = lambda self: None" -s "arr=A()" "reverse_it(arr)"
Running Release|x64 interpreter...
.....................
Mean +- std dev: 159 ns +- 4 ns

----------

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

Reply via email to