1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
"""
Benchmarking sleep(0) performance.
"""
from __future__ import print_function
import perf
try:
xrange
except NameError:
xrange = range
N = 100
def test(loops, sleep, arg):
t0 = perf.perf_counter()
for __ in range(loops):
for _ in xrange(N):
sleep(arg)
return perf.perf_counter() - t0
def bench_gevent(loops, arg):
from gevent import sleep
from gevent import setswitchinterval
setswitchinterval(1000)
return test(loops, sleep, arg)
def bench_eventlet(loops, arg):
from eventlet import sleep
return test(loops, sleep, arg)
def main():
runner = perf.Runner()
for arg in (0, -1, 0.00001, 0.001):
runner.bench_time_func('gevent sleep(%s)' % (arg,),
bench_gevent, arg,
inner_loops=N)
runner.bench_time_func('eventlet sleep(%s)' % (arg,),
bench_eventlet, arg,
inner_loops=N)
if __name__ == '__main__':
main()
|