gpt4 book ai didi

python - 进度条使用 tqdm 和多进程将代码减慢 5 倍

转载 作者:行者123 更新时间:2023-12-03 15:52:00 25 4
gpt4 key购买 nike

我使用 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()

有没有更好的方法不会减慢我的代码速度?

最佳答案

会不会跟map的用法有关?和 imap而不是twdm?看到来自社区的这个很好的答案。 multiprocessing.Pool: What's the difference between map_async and imap?
另外,您可以调整的更新频率。 tqdm ministers范围。如果真的和有关tqdm 降低更新频率可能会解决您的问题。

miniters : int or float, optional Minimum progress display updateinterval, in iterations. If 0 and dynamic_miniters, will automaticallyadjust to equal mininterval (more CPU efficient, good for tightloops). If > 0, will skip display of specified number of iterations.Tweak this and mininterval to get very efficient loops. If yourprogress is erratic with both fast and slow iterations (network,skipping items, etc) you should set miniters=1.


https://github.com/tqdm/tqdm#usage

关于python - 进度条使用 tqdm 和多进程将代码减慢 5 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50455516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com