Как вы можете распараллелить изображения в очереди к очередям multiprocessing.manager, чтобы сделать это быстрее? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь отправить большие видеопотоки (изображения RGB 1920x1080, FPS как можно быстрее) в несколько сценариев, работающих на разных компьютерах.До сих пор я выполнял это с помощью Python multiprocessing.manager и его удаленных очередей.

Чтобы проверить производительность, я экспериментировал на своей локальной машине:

Когда я ставлю в очередь (queue.put ()) только с одной очередью, это займет всего 15 мс.Чтобы попытаться распараллелить это, я использовал multiprocessing.Process ().Для четырех разных очередей я создал четыре разных процесса, каждый из которых выдвигал свою очередь, когда получал новый кадр изображения.Однако на практике вместо того, чтобы каждый процесс выполнялся примерно за 15 мс, каждый из них в действительности работает медленнее, иногда достигая более 100 мс.Почему это происходит, и как правильно это сделать?

Кроме того, если бы мне не нужно было использовать отдельные машины (то есть все сценарии и очереди можно было бы разместить на одной машине), что было бы рекомендованочерез удаленные администраторы очередей Python?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...