多处理:使用`池.星图`有大字典吗

2024-04-25 13:05:14 发布

您现在位置:Python中文网/ 问答频道 /正文

{{cdam>做一些计算。下面是它的样子:

with Pool(processes=15) as pool: results = pool.starmap(fun, [(arg2, arg1, i, dict1, dict2) for i in alist]) 然而,从htop开始,计算将保持单核运行。注意dict1和dict2是两个大字典,当加载到内存中时,每个字典大约有5Gb。然而,我也观察到内存占用已经停止增长,而程序仍然在单核中运行。与字典并行时有什么限制吗。我对large pandas.DataFrame使用了类似的方法,它工作得很好。在

更新:我做了一些实验,这让我相信这不是字典的问题(我尝试用DataFrame替换它们,仍然是相同的行为),而是被并行化的数据的大小。使用部分函数和map也没有帮助。在


Tags: 内存dataframe字典aswithresultsprocessespool