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