并行for循环python

时间:2015-02-12 14:52:19

标签: python for-loop parallel-processing joblib

我想在python中并行化一个for循环。

循环由发电机供电,我预计有10亿个项目。

事实证明,该joblib存在巨大的内存泄漏

Parallel(n_jobs=num_cores)(delayed(testtm)(tm) for tm in powerset(all_turns))

我不想在这个循环中存储数据,只是打印一些东西,但主线程在几秒钟内增长到1 GB大小。

是否存在大量迭代的其他框架?

1 个答案:

答案 0 :(得分:2)

from multiprocessing import Pool

if __name__ == "__main__":
   pool = Pool() # use all available CPUs
   for result in pool.imap_unordered(delayed(testtm), powerset(all_turns),
                                     chunksize=1000):
       print(result)