0

我们在内存中有 100 个大型 Python 对象(每个对象是字典、Python 标准值(例如整数)、NumPy 对象、Python 类的混合体),我们需要“按内容”(“按值” )。

请告知,我们如何才能并行或至少更快地做到这一点?

我们已经考虑了几种方法(据我们了解,可能是错误的):

  1. threading 模块不起作用,因为复制是使用 Python 原生函数完成的,而 GIL 是一个瓶颈。

  2. 多处理模块和 Parallel Python 不起作用,因为它会腌制参数,并且在这种情况下腌制并不比复制好(并且这种腌制不能并行发生)。

  3. PyPy 至少可以提供小的改进(不是必需的),但似乎我们不能使用它,因为我们使用 NumPy 对象。

先感谢您!


这10天里一直在寻找可能的解决方案,但没有找到任何东西。CPython GIL 到处都是不可逾越的障碍。似乎最简单的解决方案是切换到 numpy 对象(数组)而不是使用 Python 原生数组和字典,因为这将允许即使使用 Python 线程也可以并行(至少一点)复制它们。

4

0 回答 0