在网站中,由于存在大量的图片,需要进行处理;
每次在测试的时候,遍历文件夹文件很快,但是涉及到对文件处理时,就非常的慢,昨晚想起诺神提及的分批处理;
突然想到可以用list分块来处理:
print ('files num is :',len(reslist))
print ('切割为:{} 份'.format(int(len(reslist)/1000)))
start =time.time()
for output in group_elements(int(len(reslist)/1000),reslist):
del_list = (list(output))
with ThreadPoolExecutor(max_workers=5) as pool:
results = pool.map(check,del_list)
测试处理3W3的文件,只需要10分钟,比之前快了非常多。。。
22W文件+处理,耗时52分钟,5线程
唯一的缺陷是,对某些二维码的识别还不到位。。。。。(可忽略了)