这更像是一个风格问题。对于真正受益于拥有多个内核的 CPU 绑定进程,您通常使用多处理模块还是使用带有没有 GIL 的解释器的线程?我只是轻轻地使用了多处理库,但除了 CPython 之外也没有任何经验。我很好奇首选的方法是什么,如果它是使用不同的解释器,哪一个。
问问题
792 次
2 回答
3
无论哪种方式,我都没有真正看到在这里提出“风格”论点——无论是multiprocessing
在 CPython 2.6 中,还是threading
在(例如)Jython 和 IronPython 的当前版本中,都可以让您以极其相似的方式(和风格;- )。因此,我会根据非常“顽固”的考虑进行选择——每种选择的性能如何(如果我受 CPU 限制以至于受益于多核,那么性能显然是最重要的) ,我是否可以使用任何仅限 CPython(如numpy
)的库或其他仅限 JVM 或 .NET 的库,等等。
于 2009-10-16T02:09:34.507 回答
1
看看 Parallel Python ( www.parallelpython.com )——我习惯于在我的四核机器上很好地分配处理器之间的工作。它甚至支持集群!
于 2009-10-16T02:07:05.360 回答