1

这更像是一个风格问题。对于真正受益于拥有多个内核的 CPU 绑定进程,您通常使用多处理模块还是使用带有没有 GIL 的解释器的线程?我只是轻轻地使用了多处理库,但除了 CPython 之外也没有任何经验。我很好奇首选的方法是什么,如果它是使用不同的解释器,哪一个。

4

2 回答 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 回答