快速简单的python基准测试。
bench-it的Python项目详细描述
快速找到你的代码在哪里花费时间。
benchit是一个极简主义的图书馆,它的时间是 从点A到点B。它有助于检测未优化的代码。
benchit只与python 3兼容。对于Python2支持,请使用 benchit==0.2.6(https://pypi.python.org/pypi/bench-it/0.2.6)
安装
pip install bench-it
示例
from benchit import BenchIt from time import sleep def demo_benchmark(): b = BenchIt() # starts the timer # do stuff sleep(1); b() # Add marker after this code. Code used as marker name. sleep(.2); sleep(.3); sleep(.4); b("More stuff done") # Add a custom named marker for i in range(1, 5): sleep(.1); b() # Code can be marked in a loop b.display() # Display output as a table demo_benchmark() BenchIt +-----------------+----------------+------------+------+----------+---------+---------+ | Marker | Method | Line | Hits | Avg Time | Runtime | Percent | +-----------------+----------------+------------+------+----------+---------+---------+ | sleep(1) | demo_benchmark | demo.py:9 | 1 | 1.01341 | 1.01341 | 43.33 | | More stuff Done | demo_benchmark | demo.py:14 | 1 | 0.91278 | 0.91278 | 39.03 | | sleep(.1) | demo_benchmark | demo.py:17 | 4 | 0.10306 | 0.41223 | 17.63 | +-----------------+----------------+------------+------+----------+---------+---------+ Total runtime: 2.33860
如何使用
实例化类将启动计时器。板凳是单打。 在代码中的任何地方重新实例化都会引入前面的 实例化计时器。要创建新计时器,请使用 唯一的名字。
b = BenchIt() b2 = BenchIt() # b == b2 b3 = BenchIt("Timer A") # b != b3
在某个代码后设置标记。
call_a_method(); b() # Quickly add a marker after a method method1() method2() b("Two methods called") # Or create a manual marker after a chunk of code
停止并显示表以进行分析。
b.display()
方法
benchit.__init__()实例化并启动计时器。
benchit.__call__(marker_name)此时添加标记。
benchit.stop()可以选择在某一点停止计时器。
benchit.display()显示表。如果正在运行,则停止计时器。
学分
- 特别感谢Luke Maurits prettytable*