timeit返回的时间单位是什么?

48

我不知道如何解释 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。我该如何解释这个数字?

1个回答

70

返回值是一个浮点数,表示以秒为单位的时间

它代表测试所需的总时间(不包括设置时间),因此每个测试的平均时间是该数字除以number参数得出的,默认为100万。

请参阅Time.timeit()文档

计时执行主语句number次。这将执行一次设置语句,然后返回以秒为单位测量的执行主语句多次所需的时间。参数是循环次数,默认为100万。


这意味着最好使用数字1重复1e6次,并取最小值(文档中暗示的)。 - Mad Physicist
2
@MadPhysicist 不行。因为这样你会启用和禁用垃圾回收器一百万次。不要将“number”设置为1。 - Martijn Pieters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接