|
|
1
1
当谈到CPU密集型任务时,Python就显得力不从心,因为Python不是一种非常高效的语言。许多“动态”语言都有这个问题,因为编译器在编译时对程序的假设是有限的。例如,如果在每次调用之间有人替换了对象上的方法,则可能必须每次查找方法调用。 我建议你看看 Erlang |
|
|
2
7
|
|
|
3
4
如果你真的,真的知道GIL已经成为一个瓶颈,并且你需要在多个处理器上处理数字,那么你需要考虑:
|
|
|
4
3
|
|
|
5
2
|
|
|
6
1
为了克服GIL,可以尝试用jython而不是cpython解释python语言 |
|
|
7
1
接受暗示。CPU密集型的程序也可以分成多个进程。多个进程和传递状态的管道通常可以具有出色的性能。 不要为了其他语言而到处乱找,这样做吧。
|
|
|
8
1
你可以用 python multiprocessing 它镜像线程的API,但运行单独的进程。可能无法为非posix实现。对于一般CPU密集型问题,您可以尝试 Stackless Python (已提及)或 Pyrex |
|
|
Jamie M · 组合来自多个进程的数据 4 年前 |
|
Dinesh · 如果进程数超过内核数的一半,为什么性能会下降? 8 年前 |
|
|
cooke · python多处理使用特定参数串行运行 8 年前 |
|
|
SSV · 如何在Java中并行处理对象列表 8 年前 |
|
|
Vingtoft · 使用管道的Python多进程无阻塞内部通信 8 年前 |
|
|
cosz3 · Python多进程是否共享同一对象? 8 年前 |
|
|
Anish Shanbhag · 多处理事件不工作 8 年前 |