大规模循环优化细节

以前写代码不注重细节,为了方便调试,总喜欢在循环中写输出语句,小循环中还看不出什么,直到有次在一个数十万的循环中发现了问题,无论怎么优化程序都很慢,最后发现是被输出测试拖缓了程序,而且是影响的效率是致命地。
具体有多严重,下面做个测试就一目了然

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操作,如果要判断进度可以用累加器,达到一定数据再输出。

发布了11 篇原创文章 · 获赞 3 · 访问量 2740

猜你喜欢

转载自blog.csdn.net/qq_29869111/article/details/102953599