计时器迭代可选方案
自己编写的计时模块
我们可以在python中非常方便的计时代码:
# 创建计时函数
import time
def timer(func, *args):
# 在python3.3后clock()函数已经废除,可以使用perf_counter()方法代替
start = time.perf_counter()
for i in range(1000):
func(*args)
return time.perf_counter() - start
# 调用计时函数
T = timer(pow, 2, 1000)
print(T) # output:0.000951239999999999
上面的timer函数存在下面的缺陷:
- 在被测试函数调用中不支持关键字参数
- 硬编码了重复次数
- 额外计入了 range的时间开销
- 总使用time.clock,在 Windows系统以外并非是最好的
- 无法让调用者检测待测函数确实有效
- 只给出总时间,这在一些重负载的机器上可能会波动