Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/bottleneck/benchmark/autotimeit.py: 21%
14 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-23 06:06 +0000
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-23 06:06 +0000
1import timeit
4def autotimeit(stmt, setup="pass", repeat=3, mintime=0.2):
5 timer = timeit.Timer(stmt, setup)
6 number, time1 = autoscaler(timer, mintime)
7 time2 = timer.repeat(repeat=repeat - 1, number=number)
8 return min(time2 + [time1]) / number
11def autoscaler(timer, mintime):
12 number = 1
13 for i in range(12):
14 time = timer.timeit(number)
15 if time > mintime:
16 return number, time
17 number *= 10
18 raise RuntimeError("function is too fast to test")