◐ Shell
clean mode source ↗

Message 277283 - Python tracker

Microbenchmarks:

$ ./python -m timeit -s "def f(**kw): pass" -s "b = {'b': 2}" -- "f(a=1, **b)"
Unpatched:  100000 loops, best of 3: 7.64 usec per loop
Patched:    100000 loops, best of 3: 3.14 usec per loop

$ ./python -m timeit -s "def f(**kw): pass" -s "a = {'a': 1}; b = {'b': 2}" -- "f(**a, **b)"
Unpatched:  100000 loops, best of 3: 6.93 usec per loop
Patched:    100000 loops, best of 3: 2.66 usec per loop

$ ./python -m timeit -s "def f(a=None, b=None): pass" -s "b = {'b': 2}" -- "f(a=1, **b)"
Unpatched:  100000 loops, best of 3: 7.27 usec per loop
Patched:    100000 loops, best of 3: 2.83 usec per loop

$ ./python -m timeit -s "def f(a=None, b=None): pass" -s "a = {'a': 1}; b = {'b': 2}" -- "f(**a, **b)"
Unpatched:  100000 loops, best of 3: 6.47 usec per loop
Patched:    100000 loops, best of 3: 2.31 usec per loop