最近检测程序,发现运行速度变慢了,想着找下具体原因在哪,以前的时候用的是最笨的方法,在前边记录下时间,运行完了再记录下时间,发现这样修改的地方太多,而且很不方便。
通过万能的百度我找到了下面的优化方案,直接用装饰器。
import time
from functools import wraps
def fn_timer(function):
@wraps(function)
def function_timer(*args, **kwargs):
t0 = time.time()
result = function(*args, **kwargs)
t1 = time.time()
print ("Total time running %s: %s seconds" %
(function.__name__, str(t1-t0))
)
return result
return function_timer
使用方式的话,就是在要监控的函数定义上面加上 @fn_timer 就行了