Python 测量任务之间的响应时间

Python 测量任务之间的响应时间,python,Python,我正在编写一个程序(用Python)来返回一些数据。 我想知道如何测量请求和响应之间的响应时间(用于性能分析),然后我会将其存储在某个地方 有一种更好更有效的方法可以做到这一点,或者只是在请求之前插入一个time.ctime(),在回答之后插入另一个time.ctime(),然后减去它们?比如: pre_time = time.ctime() a = x + y print a pos_time = time.ctime() result_time = postime - pretime 当然

我正在编写一个程序(用Python)来返回一些数据。 我想知道如何测量请求和响应之间的响应时间(用于性能分析),然后我会将其存储在某个地方

有一种更好更有效的方法可以做到这一点,或者只是在请求之前插入一个
time.ctime()
,在回答之后插入另一个
time.ctime()
,然后减去它们?比如:

pre_time = time.ctime()
a = x + y
print a
pos_time = time.ctime()
result_time = postime - pretime
当然,这个减法不起作用,但仅供参考。

谢谢

最简单的解决方案是编写一个具有相同功能的装饰器

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

这样说,如果你的用例复杂,考虑一些特制的解决方案。

也许这就是你正在寻找的。