Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python多处理进程和管道-700个进程是否合理?_Python_Python Multithreading - Fatal编程技术网

Python多处理进程和管道-700个进程是否合理?

Python多处理进程和管道-700个进程是否合理?,python,python-multithreading,Python,Python Multithreading,服务器以32位运行Red Hat,具有8个内核 必须实例化的公司类是不可pickle的 我尝试了线程化,但达到4到7个并发线程会使性能下降到顺序处理的性能。这部分是由于我的无知、PySimeCurLand和C++的底层实现。 我尝试使用队列进行多处理,但这并不健壮,也没有提高性能 我目前正在成功运行60个多进程进程,每个进程都有一个管道。到目前为止,性能非常好,鲁棒性非常好 但我至少需要700个进程。700合理吗?我认为在32位机器上是不合理的。我希望在64位的机器上运行这种负载,并且有足够的内

服务器以32位运行Red Hat,具有8个内核

必须实例化的公司类是不可pickle的

我尝试了线程化,但达到4到7个并发线程会使性能下降到顺序处理的性能。这部分是由于我的无知、PySimeCurLand和C++的底层实现。 我尝试使用队列进行多处理,但这并不健壮,也没有提高性能

我目前正在成功运行60个多进程进程,每个进程都有一个管道。到目前为止,性能非常好,鲁棒性非常好


但我至少需要700个进程。700合理吗?

我认为在32位机器上是不合理的。我希望在64位的机器上运行这种负载,并且有足够的内存来处理这些进程可能需要的任何开销。

为什么需要多达700个进程?还有其他的并发方法——微线程、greenlet、Stackless……为什么不试试看呢?似乎您已经有了一个包含60个进程的实现……这一点,而且如果它们充分利用处理器,您不会(不应该)体验到超过8个进程的性能提升。我同意@Wug的观点。就我个人而言,我会尝试在每个核心中使用一个进程,然后在每个进程中使用线程来最大限度地提高核心利用率。此外,700个python进程的开销可能会让机器在所有硬件上都陷入艰难的爬行状态,但不是在相当严重的硬件上。我没想到检查核心数会提高性能,但是该公司的软件同时运行数千个C/C++线程,我不知道这是否相关,但如果我同时发出所有请求,我似乎可以得到更好的服务。进程中的线程。有趣的线程是否共享父进程的内存空间?