Open
Description
您好,
读过您写的书,收获很大,谢谢。
有一个疑问,如题。Time.timeit利用wrapt.dectator来计算一个函数的执行时间。通常是没有问题的。但是如果是一个嵌套函数,外层函数的计时就是:内层函数执行时间+wrapt 自身执行的时间。如果内层函数被执行n次,那么外层函数的计时时间就多出了n*(wrapt 自身执行时间),这可能导致时间分析不准确。比如下面的例子, outer()的总时间被错误的多计时了(100000000*wrap时间)。不知道有没有办法在wrapt之间进行通讯,来扣除内部wrapt 自身的时间(不是inner函数的执行时间哈)
@timing.timeit()
def inner():
print("inner")
@timing.timeit()
def outter():
for i in range(100000000):
inner()
print("outer")
Metadata
Metadata
Assignees
Labels
No labels