大规模循环优化细节
程序员文章站
2022-06-02 17:06:42
...
以前写代码不注重细节,为了方便调试,总喜欢在循环中写输出语句,小循环中还看不出什么,直到有次在一个数十万的循环中发现了问题,无论怎么优化程序都很慢,最后发现是被输出测试拖缓了程序,而且是影响的效率是致命地。
具体有多严重,下面做个测试就一目了然
import time
start = time.clock()
for i in range(50000):
print(i)
elapsed = (time.clock() - start)
print("Time used:",elapsed)
start = time.clock()
k=0
for i in range(50000):
k+=1
if(k>10000):
print('k')
k=0
elapsed = (time.clock() - start)
print("Time used:",elapsed)
结果分别是
Time used: 23.582723299999998
Time used: 0.014744700000001387
可以看出,影响巨大。尽量不要在循环中写IO操作,如果要判断进度可以用累加器,达到一定数据再输出。
下一篇: 编译原理 实验一 词法分析之预处理