【问题标题】:What unit of time does timeit return?timeit 返回什么时间单位?
【发布时间】:2015-11-10 14:00:07
【问题描述】:

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

【问题讨论】:

    标签: python python-3.x python-3.4 timeit


    【解决方案1】:

    返回值是秒作为浮点数

    这是运行测试所花费的总时间(不包括设置),因此每个测试的平均时间是该数字除以 number 参数,默认为 100 万。

    Time.timeit() documentation

    时间 number 次执行主语句。这将执行一次 setup 语句,然后返回执行多次主语句所需的时间,以浮点数为单位以秒为单位。参数是循环的次数,默认为一百万。

    【讨论】:

    • 所以这意味着最好repeat 1e6 次,number 为 1 并取最小值(由文档暗示)?
    • @MadPhysicist 没有。因为那时您也启用和禁用垃圾收集器一百万次。不要将number 设置为 1。
    猜你喜欢
    • 2011-10-11
    • 1970-01-01
    • 2012-02-13
    • 2019-06-24
    • 1970-01-01
    • 2021-03-21
    • 2014-09-11
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多