Python 执行期间的类方法性能测试
我有一个类,它包含一个methodT供另一个类methodM使用,我想计算methodT的运行时间 以下是我尝试过的东西Python 执行期间的类方法性能测试,python,timeit,Python,Timeit,我有一个类,它包含一个methodT供另一个类methodM使用,我想计算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):
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\u进程
我读过这篇文章,并尝试添加timewrapper方法
def timewrapper(args)
return self.run_process(args)
它不适合我,因为它给出了一个名称错误:没有定义全局名称“timewrapper”
我的问题是如何使用timeit正确实现方法B
注意:我不能使用核心python以外的模块您使用的python版本是什么?在3.3版中,建议您使用
perf_counter()
或process_time()
。这可能会导致不准确。我使用的是2.7,它没有性能计数器或处理时间。另外,我更喜欢使用timeit