如何将排队的图像并行化到multiprocessing.manager队列以使其更快?

时间:2019-02-27 10:47:11

标签: python multithreading parallel-processing queue multiprocessing

我正在尝试将大型视频流(1920x1080 RGB图像,FPS尽可能快)发送到在不同计算机上运行的多个脚本。到目前为止,我已经使用Python的multiprocessing.manager及其远程队列完成了此任务。

要检查性能,我已经在本地计算机上进行了实验:

当我仅使用一个队列排队(queue.put())时,只需要15毫秒。 为了尝试并行化,我使用了multiprocessing.Process()。对于四个不同的队列,我进行了四个不同的过程,每个过程在接收到新的图像帧时都推送到相应的队列。 但是实际上,不是每个进程都在15毫秒左右运行,而是每个进程实际上都以较慢的速度运行,有时甚至超过100毫秒。为什么会发生这种情况?解决该问题的正确方法是什么?

此外,如果我不需要使用单独的计算机(即所有脚本和队列都可以放在一台计算机上),那么对Python的远程队列管理器有何建议?

0 个答案:

没有答案