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