1. ホーム
  2. python

関数に変数を渡すときに python timeit を使用するにはどうすればよいですか?

2023-08-30 11:12:43

質問

私は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

この関数を単体で実行すると、うまく動作します。 しかし、私はそれをtime itモジュールでラップするとき、私はエラーを取得します(私は二重引用符を使用するかどうかを試しましたが、同じ出力です)。

どんな提案でも素晴らしいです!

ありがとうございます。

どのように解決するのですか?

callableにする。

if __name__=='__main__':
    from timeit import Timer
    t = Timer(lambda: superMegaIntenseFunction(10))
    print(t.timeit(number=1))

動作するはずです。