我正在编写一个程序(用Python),它返回一些数据。
我想知道如何测量请求和答案之间的响应时间(用于性能分析),然后我会将其存储在某个地方。
有一种更好更有效的方法来做到这一点,或者只是插入例如time.ctime()
在请求和另一个请求之前time.ctime()
得到答案后,然后减去它们?喜欢:
pre_time = time.ctime()
a = x + y
print a
pos_time = time.ctime()
result_time = postime - pretime
当然这个减法是不行的,但仅供参考。
Thanks!
最简单的解决方案是编写一个具有相同功能的装饰器。
import time
def compute_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
time_taken = time.time() - start
print("Function {0}: {1} seconds".format(func.func_name, time_taken))
# Or you can place a logger here too.
return result
return wrapper
@compute_time
def add(x, y):
return x + y
话虽如此,如果您的用例很复杂 - 考虑一些量身定制的解决方案,例如timeit https://docs.python.org/2/library/timeit.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)