在算法优化过程中,经常需要统计算法的执行效率,timeit模块可以很方便地统计函数执行时间。
timeit模块主要是定义一个类和两个方法:
一个类指的是Timer类,两个方法分别是timeit()和repeat()。
def __init__(self, stmt="pass", setup="pass", timer=default_timer, globals=None):
def timeit(self, number=default_number): """Time 'number' executions of the main statement.
def repeat(self, repeat=default_repeat, number=default_number): """Call timeit() a few times.Timer类可传入两个字符串参数:
参数一:需要执行计算的函数。
参数二:执行参数一中函数的导入参数或环境初始化参数。
timeit(number)方法:传入一个参数number,number表示被执行语句的次数,即语句一调用次数。
repeat(n,number)方法:第一个传参表示调用计时器次数,即统计的次数;第二个参数number表示统计一次计时语句一调用次数。
代码实例:
https://github.com/Justin18Chan/ML/blob/ML/perf_compare.py
https://github.com/Justin18Chan/ML/blob/ML/timeit_usage.py