timeit返回的时间单位是多少?

niv*_*xer 24 python timeit python-3.x python-3.4

我不知道如何解释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))
Run Code Online (Sandbox Code Playgroud)

这个输出是11.85382745500101.我该如何解释这个数字?

Mar*_*ers 38

返回值是以浮点数表示的秒数.

它是运行测试所花费的总时间(不计算设置),因此每次测试的平均时间是该数字除以number参数,默认为1百万.

查看Time.timeit()文档:

主要陈述的时间编号执行.这将执行一次setup语句,然后返回执行主语句多次所需的时间,以秒为单位测量为浮点数.参数是通过循环的次数,默认为一百万.

  • @MadPhysicist 没有。因为这样您也将启用和禁用垃圾收集器一百万次。不要将“number”设置为 1。 (2认同)