5

我正在尝试使用 python 在可以使用http://docs.python.org/library/multiprocessing高度并行化的任务上获得一些性能。

在查看他们的库时,他们说对非常长的迭代使用块大小。现在,我的可迭代对象并不长,它包含的一个字典很大:~100000 个条目,元组作为键,numpy 数组作为值。

我将如何设置块大小来处理这个问题以及如何快速传输这些数据?

谢谢你。

4

1 回答 1

3

一次在多个工作人员中处理这个大型项目的唯一方法是将其拆分。multiprocessing通过以单位划分工作来工作,但是您可以提供给它的最小单位是一个对象——它不知道如何以一种合理的方式拆分单个对象。相反,你必须自己做。与其发送要处理的字典,不如将字典拆分为更小的工作单元,然后将它们发送过来。如果由于所有数据相互依赖而无法拆分字典,那么您也无法真正拆分工作。

于 2010-04-24T21:41:56.147 回答