私は、この使用は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
私が独自に機能を実行すると、それが正常に動作します。そのモジュールをそれをまとめたときにラップすると、エラーが出ます(私は二重引用符を使用して試しています。
どのような提案もすばらしいでしょう。
ありがとうございます!
これはうまくいきました!本当にありがとう。私はラムダが何をしているのか把握する必要があります。ありがとうPablo – Lostsoul
これはドキュメント内のどこかにある場合 – endolith
ああしかし、ラムダはいくつかのオーバーヘッドを追加するので、小さなものをテストするのには理想的ではありません。 'timeit 5 * 5'は33nsであり、' timeit(lambda:5 * 5)() 'は233nsです。 – endolith