多重处理 python 脚本
Multiprocessing a python script
我在 python 中了解了多处理工具:https://docs.python.org/2/library/multiprocessing.html。
假设我有一个 python 程序,该程序既复杂又充实,但当 运行 时它并没有用完我所有的内核。所以它使用了 100% 的一个核心,并且需要很长时间才能完成。我很难进入程序代码并弄清楚如何手动拆分进程,原因很简单,因为程序太复杂了。
是否可以编写一个简单的 python 脚本,在我指定的任何 python 程序上启用多处理?确切地说,我想要像这样简单的东西:
from multiprocessing import Process
Process(myprogram.py)
如果没有,是否有次优方法?
经过讨论,直截了当的答案是:
No.
仅仅是因为多处理并不是自动将一个处理器的负担卸载到另一个处理器的魔术。开发人员需要知道程序应该如何拆分任务,并指定每个任务应该占用一个新进程。
所以最终,您必须控制您的代码才能产生适当且高效的多处理。
我在 python 中了解了多处理工具:https://docs.python.org/2/library/multiprocessing.html。
假设我有一个 python 程序,该程序既复杂又充实,但当 运行 时它并没有用完我所有的内核。所以它使用了 100% 的一个核心,并且需要很长时间才能完成。我很难进入程序代码并弄清楚如何手动拆分进程,原因很简单,因为程序太复杂了。
是否可以编写一个简单的 python 脚本,在我指定的任何 python 程序上启用多处理?确切地说,我想要像这样简单的东西:
from multiprocessing import Process
Process(myprogram.py)
如果没有,是否有次优方法?
经过讨论,直截了当的答案是:
No.
仅仅是因为多处理并不是自动将一个处理器的负担卸载到另一个处理器的魔术。开发人员需要知道程序应该如何拆分任务,并指定每个任务应该占用一个新进程。
所以最终,您必须控制您的代码才能产生适当且高效的多处理。