Короткий ответ, нет, но ZeroMQ может иметь и другие преимущества. Давайте перейдем прямо к этому, если вы работаете в Linux и хотите быструю передачу данных, вы идете Общая память . Но это будет не так просто, как с ZeroMQ.
Поскольку ZeroMQ - это очередь сообщений. Это решает (и хорошо решает) различные проблемы. Он может использовать IPC между C ++ и Python, что может быть заметно быстрее, чем использование сокетов (для тех же целей), и дает вам окно для сетевых функций в ваших будущих разработках. Это надежный и довольно простой в использовании, с тем же API в Python и C ++. Он часто используется с Protobuf для сериализации и отправки данных , даже для высокой пропускной способности.
Первая проблема с IPC в ZeroMQ заключается в том, что ему не хватает поддержки Windows, поскольку она не совместима с POSIX. Но самая большая проблема, возможно, не в этом: ZeroMQ медленный , потому что он встраивает ваше сообщение. Вы можете наслаждаться преимуществами этого, но это может помешать выступлениям. Лучший способ проверить это, как всегда, это проверить самостоятельно с помощью IPC-BENCH , так как я не уверен, что эталонный тест, который я предоставил в предыдущей ссылке, использовал IPC. Средний выигрыш с IPC по сравнению с TCP локального домена не является фантастическим.
Как я уже говорил ранее, я уверен, что Shared Memory будет самой быстрой, исключая последнюю возможность: разработайте свою собственную оболочку C ++ в Python . Могу поспорить, что это самое быстрое решение, но для многопоточности потребуется немало инженерных решений, потому что и C ++, и Python будут работать в одном и том же процессе. И, конечно, вам нужно настроить текущий код C ++, если он уже запущен.
И, как обычно, помните, что оптимизация всегда происходит в контексте. Если передача данных составляет лишь часть времени выполнения по сравнению с обработкой, которую вы можете выполнить после этого, или если вы можете подождать 0,00001 с, что поможет вам получить общую память, возможно, стоит перейти непосредственно к ZeroMQ, посколькуэто будет проще, масштабируемее и надежнее.