我这个使用timeit挣扎,并想知道如果任何人有,我想测试的速度任何提示如何在将变量传递给函数时使用python 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)。
任何建议都会很棒!
谢谢!
工作正常!非常感谢。我需要弄清楚什么是lambda ..看起来像是有所作为。谢谢Pablo – Lostsoul
如果只有这个在文档 – endolith
哦,但lambda增加了一些开销,所以不适合测试小的东西。 'timeit 5 * 5'为33 ns,而'timeit(lambda:5 * 5)()'为233 ns。 – endolith