Source code for mlreflect.utils.performance_tools

import functools
from timeit import default_timer


[docs]def timer(func): """Print the runtime of the decorated function""" @functools.wraps(func) def wrapper_timer(*args, **kwargs): if 'time' in locals() and time is True: start_time = default_timer() # 1 value = func(*args, **kwargs) end_time = default_timer() # 2 run_time = end_time - start_time # 3 print(f"Finished {func.__name__!r} in {run_time:.4f} secs") return value else: return func(*args, **kwargs) return wrapper_timer