【发布时间】:2018-05-21 19:32:29
【问题描述】:
我使用 tqdm 在我的 2.7 python 代码中添加了一个进度条,但它显着降低了我的代码速度。例如,没有进度条需要 12 秒,而有进度条需要 57 秒。
没有进度条的代码是这样的:
p = mp.Pool()
combs = various combinations
result = p.map(self.parallelize, combs)
p.close()
p.join()
带有进度条的代码如下:
from tqdm import tqdm
p = mp.Pool()
combs = various combinations
result = list(tqdm(p.imap(self.parallelize, combs), total = 5000))
p.close()
p.join()
有没有更好的方法不会减慢我的代码速度?
【问题讨论】:
-
是否需要按顺序获取结果?
imap_unordered可能会有所帮助。 -
@tdelaney 结果确实需要保持有序
-
你找到解决办法了吗?
标签: python parallel-processing progress-bar multiprocess tqdm