Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/bottleneck/benchmark/autotimeit.py: 21%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

14 statements  

1import timeit 

2 

3 

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 

9 

10 

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")