web-dev-qa-db-ja.com

timeitは何時間単位を返しますか?

Pythonのtimeit.timeit()関数からの出力を解釈する方法がわかりません。私のコードは次のとおりです。

import timeit

setup = """
import pydash
list_of_objs = [
    {},
    {'a': 1, 'b': 2, 0: 0},
    {'a': 1, 'c': 1, 'p': lambda x: x}
]
"""
print(timeit.timeit("pydash.filter_(list_of_objs, {'a': 1})", setup=setup))

これからの出力は11.85382745500101。この番号をどのように解釈しますか?

22
nivix zixer

戻り値はfloatとしての秒です。

合計所要時間テストの実行(セットアップはカウントしない)であるため、テストあたりの平均時間は、その数をnumber引数で割った値であり、デフォルトは100万です。

Time.timeit() documentation を参照してください:

時間numberメインステートメントの実行。これにより、セットアップステートメントが1回実行され、その後、メインステートメントの実行に要する時間を、floatとして秒単位で数回返します。引数はループの回数で、デフォルトは100万回です。

36
Martijn Pieters