我有一个包含要由另一个类methodM使用的methodT的类,我想计算methodT的运行时间。
这是我尝试过的事情
Class MyClass(threading.Thread):
def __init__():
threading.Thread.__init__(self)
def run_porcess(self, args)
# start a subprocess and print output
def run(self):
# ==========================================
# method A:
# ==========================================
start_time = time.clock()
self.run_process('args')
elapsed = time.clock() - start_time
print(elapsed)
#===========================================
# method B:
#===========================================
timeit.timeit('self.run_process("args")')
使用方法 A,我可以得到一个结果,但我认为与 timeit 给出的结果相比,它的准确度较低。
但是,使用方法 B,timeit 将产生 NameError 因为它无法识别 self.run_process
我已经阅读了这篇文章,并尝试添加 timewrapper 方法
def timewrapper(args)
return self.run_process(args)
它对我不起作用,因为它给出了NameError: global name 'timewrapper' is not defined
.
我的问题是如何使用 timeit 正确实现方法 B?
注意:我不能使用核心 python 以外的模块