Files
bonobo/benchmarks/parameters.py
2018-08-11 06:34:37 +02:00

56 lines
975 B
Python

"""
Compare passing a dict to passing a dict as kwargs to a stupid transformation
Last results (1 mill calls):
j1 1.5026444319955772
k1 1.8377482700016117
j2 1.1962292949901894
k2 1.5545833489886718
j3 1.0014333260041894
k3 1.353256585993222
"""
import json
import timeit
def j1(d):
return {'prepend': 'foo', **d, 'append': 'bar'}
def k1(**d):
return {'prepend': 'foo', **d, 'append': 'bar'}
def j2(d):
return {**d}
def k2(**d):
return {**d}
def j3(d):
return None
def k3(**d):
return None
if __name__ == '__main__':
import timeit
with open('person.json') as f:
json_data = json.load(f)
for i in 1, 2, 3:
print(
'j{}'.format(i), timeit.timeit("j{}({!r})".format(i, json_data), setup="from __main__ import j{}".format(i))
)
print(
'k{}'.format(i),
timeit.timeit("k{}(**{!r})".format(i, json_data), setup="from __main__ import k{}".format(i)),
)