【timeit】Python小段代码性能测试模块

2021-05-30 05:05

阅读:705

标签:set   The   默认   时间   ber   function   性能测试   fun   程序   

简介

timeit模块提供了一种简单的方法来计算一小段 Python 代码的耗时。它有命令行界面以及一个可调用方法。它避免了许多用于测量执行时间的常见陷阱。

接口

timeit提供了三个便利函数和一个公共类

timeit.timeit(stmt=‘pass‘, setup=‘pass‘, timer=, number=1000000, globals=None)

返回小段代码运行默认1000000次所需时间。
其中stmt表示需要测量的语句或函数,setup表示初始化代码或构建环境的导入语句,timer表示计时函数,number表示每一次测量中语句被执行的次数。

timeit.repeat(stmt=‘pass‘, setup=‘pass‘, timer=, repeat=5, number=1000000, globals=None)

重复执行timeit,次数由repeat决定,返回结果列表。

timeit.default_timer()

默认的计时器,一般是 time.perf_counter(),time.perf_counter() 方法能够在任一平台提供最高精度的计时器(它也只是记录了自然时间,记录自然时间会被很多其他因素影响,例如计算机的负载)。

class timeit.Timer(stmt=‘pass‘, setup=‘pass‘, timer=, globals=None)

计算小段代码执行速度的类,参数同上。
包含方法:

timeit(number=1000000)

执行 number 次主要语句。这将执行一次 setup 语句,然后返回执行主语句多次所需的时间,以秒为单位测量为浮点数。参数是通过循环的次数,默认为一百万。要使用的主语句、 setup 语句和 timer 函数将传递给构造函数。

autorange(callback=None)

自动决定调用多少次 timeit() 。
这是一个便利函数,它反复调用 timeit() ,以便总时间 >= 0.2 秒,返回最终(循环次数,循环所用的时间)。它调用 timeit() 的次数以序列 1, 2, 5, 10, 20, 50, ... 递增,直到所用的时间至少为0.2秒。
如果给出 callback 并且不是 None ,则在每次试验后将使用两个参数调用它: callback(number, time_taken) 。

repeat(repeat=5, number=1000000)

调用 timeit() 几次。
这是一个方便的函数,它反复调用 timeit() ,返回结果列表。

print_exc(file=None)

帮助程序从计时代码中打印回溯。
典型使用:

t = Timer(...)       # outside the try/except
try:
    t.timeit(...)    # or t.repeat(...)
except Exception:
    t.print_exc()

【timeit】Python小段代码性能测试模块

标签:set   The   默认   时间   ber   function   性能测试   fun   程序   

原文地址:https://www.cnblogs.com/xhltk316/p/14754142.html


评论


亲,登录后才可以留言!