20 lines
614 B
Python
20 lines
614 B
Python
import sys, timeit
|
|
def usec(function, arguments):
|
|
modname, funcname = __name__, function.__name__
|
|
timer = timeit.Timer(stmt='%(funcname)s(*args)' % vars(),
|
|
setup='from %(modname)s import %(funcname)s; args=%(arguments)r' % vars())
|
|
try:
|
|
t, N = 0, 1
|
|
while t < 0.2:
|
|
t = min(timer.repeat(repeat=3, number=N))
|
|
N *= 10
|
|
microseconds = round(10000000 * t / N, 1) # per loop
|
|
return microseconds
|
|
except:
|
|
timer.print_exc(file=sys.stderr)
|
|
raise
|
|
|
|
from math import pow
|
|
def nothing(): pass
|
|
def identity(x): return x
|