我正在使用twisted及其装饰器@inlineCallbacks
我正在尝试对使用@inlineCallbacks修饰的方法的执行时间进行基准测试。
我的问题是 - 是否有可能为计算创建一个新的装饰器,或者我应该只将计算添加到方法本身:
@benchmark_performance
@inlineCallbacks
def perform():
...
VS
@inlineCallbacks
def perform():
t1 = time.now()
...
t2 = time.now()
yield write_to_db(t2-t1)
答案 0 :(得分:0)
一切都取决于。第一个例子:
@benchmark_performance
@inlineCallbacks
def perform():
...
将对perform函数以及inlineCallbacks装饰器的性能进行基准测试。
第二个例子只是标记执行功能的内部功能。
因此,如果要包含inlineCallback(或任何其他装饰器)的性能,请使用第一种方法。如果您只想对执行函数的内部进行基准测试,那么请在较低级别进行。