[issue27213] Rework CALL_FUNCTION* opcodes
Demur Rumed
report at bugs.python.org
Mon Jun 20 19:45:47 EDT 2016
Demur Rumed added the comment:
callfunc2 fixes test_dis, addresses code review, currently implements a copy of _PyEval_EvalCodeWithName as _PyEval_EvalCodeWithName2 which changes a few lines to work with new keyword stack layout so that we can use fast_function with kwargs
CALL_FUNCTION_EX is benchmarking much slower (4x slower when using **kw), but unpatched hits similar perf when using multiple **kw. So most slowdown is due to BUILD_MAP_UNPACK_WITH_CALL being slow. So some patch which speeds up intersection check (eg optimize to not allocate intersection when disjoint) should greatly diminish the perf loss on this simpler implementation. I'll open a separate issue for this
----------
Added file: http://bugs.python.org/file43493/callfunc2.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue27213>
_______________________________________
More information about the Python-bugs-list
mailing list