我正在使用 timeit 来解决这个问题,想知道是否有人有任何提示
基本上我有一个函数(我传递一个值),我想测试它的速度并创建了这个:
if __name__=='__main__':
from timeit import Timer
t = Timer(superMegaIntenseFunction(10))
print t.timeit(number=1)
但是当我运行它时,我会收到一些奇怪的错误,比如来自 timeit 模块。:
ValueError: stmt is neither a string nor callable
如果我自己运行该函数,它可以正常工作。当我将它包装在它的模块中时,我得到了错误(我尝试使用双引号并且没有..sameoutput)。
任何建议都会很棒!
谢谢!
最佳答案
使其成为可调用对象:
if __name__=='__main__':
from timeit import Timer
t = Timer(lambda: superMegaIntenseFunction(10))
print(t.timeit(number=1))
应该有效
关于python - 将变量传递给函数时如何使用python timeit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523767/