X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=python-eventlet%2Fbenchmarks%2F__init__.py;fp=python-eventlet%2Fbenchmarks%2F__init__.py;h=0e3c338b1b76514c3417efc9a31438b82a7628b3;hb=358bd9258c2b6d2ee74de4dfd07a5123107abad4;hp=0000000000000000000000000000000000000000;hpb=376ff3bfe7071cc0793184a378c4e74508fb0d97;p=packages%2Ftrusty%2Fpython-eventlet.git diff --git a/python-eventlet/benchmarks/__init__.py b/python-eventlet/benchmarks/__init__.py new file mode 100644 index 0000000..0e3c338 --- /dev/null +++ b/python-eventlet/benchmarks/__init__.py @@ -0,0 +1,26 @@ +import gc +import timeit +import random + +from eventlet.support import six + + +def measure_best(repeat, iters, + common_setup='pass', + common_cleanup='pass', + *funcs): + funcs = list(funcs) + results = dict([(f, []) for f in funcs]) + + for i in six.moves.range(repeat): + random.shuffle(funcs) + for func in funcs: + gc.collect() + t = timeit.Timer(func, setup=common_setup) + results[func].append(t.timeit(iters)) + common_cleanup() + + best_results = {} + for func, times in six.iteritems(results): + best_results[func] = min(times) + return best_results