用于大量进程的 Python 多处理或多线程

时间:2021-06-24 18:33:44

标签: python multithreading multiprocessing cython

我有多个 python 函数 (cython),我会多次调用它们。它们都在循环中,并且都将从 unix 套接字接收数据。当他们收到数据时,他们会做一些计算并等待下一个套接字。计算不应花费很长时间(可能是毫秒),但我想获得最佳性能。

套接字会经常发送数据,但并非所有套接字都会同时获取。

我很难弄清楚哪个会更快: - 为每个函数生成一个进程 - 为每个可用核心生成一个进程并使用多线程 - 为 x 函数生成一个进程并使用多线程

对于数量较少的函数,我会完全使用第二个选项,但如果我想同时运行 100/500/1000 个函数怎么办?

我知道 ram 是多处理的问题,如果所有进程都在无限循环中运行,那么如果 ram 没有问题,那应该运行得更快,对吗?

0 个答案:

没有答案