I have made a program which has like 6-7 functions. I want to see how much time each function takes so that I can improve the one which is consuming a lot of time.
Also, is it possible to calculate cell-wise also?
I have made a program which has like 6-7 functions. I want to see how much time each function takes so that I can improve the one which is consuming a lot of time.
Also, is it possible to calculate cell-wise also?
You could do it by creating a decorator function and applying it to the functions of interest.
Here's what I mean:
from functools import wraps
import time
def time_this(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = time.perf_counter()
ret = func(*args, **kwargs)
end = time.perf_counter()
elapsed = end - start
print('elapsed time: {}'.format(elapsed))
return ret
return wrapper
if __name__ == '__main__':
# Test it
@time_this
def myfunc():
time.sleep(.25)
myfunc() # -> elapsed time: 0.24919553