In [10]:
from functools import wraps
from datetime import datetime as dt
import time
import random
In [19]:
def timefn(fn):
@wraps(fn)
def measure_time(*args, **kwargs):
t1 = dt.now()
result = fn(*args, **kwargs)
t2 = dt.now()
print "@timefn: {} took {} seconds".format(fn.func_name, str(t2-t1))
return result
return measure_time
In [20]:
@timefn
def random_delay():
t = random.random()
time.sleep(t)
return t
In [21]:
random_delay()
Out[21]:
In [ ]: