summaryrefslogtreecommitdiffstats
path: root/external_libs/python/pyzmq-14.7.0/examples/bench/benchmark.py
blob: c379af9ad7e16fbc7e6e81a04ed89f345af97ae7 (plain)
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
from timeit import default_timer as timer

def benchmark(f, size, reps):
    msg = size*'0'
    t1 = timer()
    for i in range(reps):
        msg2 = f(msg)
        assert msg == msg2
    t2 = timer()
    diff = (t2-t1)
    latency = diff/reps
    return latency*1000000

kB = [1000*2**n for n in range(10)]
MB = [1000000*2**n for n in range(8)]
sizes = [1] + kB + MB

def benchmark_set(f, sizes, reps):
    latencies = []
    for size, rep in zip(sizes, reps):
        print "Running benchmark with %r reps of %r bytes" % (rep, size)
        lat = benchmark(f, size, rep)
        latencies.append(lat)
    return sizes, latencies