在写代码时, 总是遇到计算代码运行时间这个问题. 运行时间是算法高效的衡量标准之一.
python统计时间, 常用的有下面两个函数
python 时间统计函数
time
time.time() 统计代码运行一次的时间. 但运行时间有时和机器状态有关, 一次运行时间没有代表性.
timeit
timeit.timeit() 统计代码运行多次的时间, 然后取均值, 作为代码的运行时间. 但有时不能保证机器处于最佳状态, 可以选择把timeit.timeit()重复几次, 再取这几次的最小时间, 作为代码的运行时间, 可以使用 timeit.repeat()实现.
代码例子
代码
import timeit
import time
def test():
n = 10000
s = 0
for i in range(n):
s += i / n
return
start = time.time()
_ = test()
end = time.time()
print(end-start)
# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit.timeit('test()', 'from __main__ import test', number=10000)
print(t/10000)
# #repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。
t = timeit.repeat('test()', 'from __main__ import test', number=10000, repeat=5)
print(min(t)/10000)
输出
0.00041413307189941406
0.00036310725799994546
0.00036108751259998823