Увидим ли мы какое-либо ускорение с использованием ZeroMQ вместо TCP-сокетов, если два взаимодействующих процесса находятся на одной машине? - PullRequest
2 голосов
/ 27 января 2012

Я понимаю, что 0MQ должен быть быстрее, чем TCP-сокеты в кластерной среде, и я могу видеть, где это будет иметь место (я думаю, это то, что они имеют в виду, когда говорят «Быстрее, чем TCP, для кластерных продуктов» и суперкомпьютинг "на сайте 0MQ). Тем не менее, увижу ли я какое-либо ускорение с использованием 0MQ вместо сокетов TCP для связи между двумя процессами, работающими на одной машине?

Ответы [ 4 ]

6 голосов
/ 07 февраля 2012

Ну, короткая версия - попробуй.

Немного более длинная версия состоит в том, что написание TCP-сокетов может быть трудным, есть много вещей, с которыми легко иметь проблемы, но 0MQ гарантирует, что сообщение будет доставлено полностью. Он также написан экспертами по сетевым сокетам, которых, возможно, нет, и они используют несколько продвинутых приемов, чтобы ускорить процесс.

4 голосов
/ 15 февраля 2012

Вы фактически не работаете на одной машине, потому что виртуальная машина рассматривается как отдельная машина.Это означает, что TCP-сокеты должны проходить через весь сетевой стек и не могут использовать ярлыки, как при обмене данными между процессами на одной машине.

Однако вы можете попробовать многоадресную UDP-рассылку в ZeroMQ, чтобы увидеть, ускоряет ли это ваше приложение.UDP менее надежен в глобальной сети, но в закрытом окружении виртуальной машины, взаимодействующей с ее хостом, вы можете безопасно пропустить все аспекты надежности TCP.

1 голос
/ 27 января 2012

Я думаю, IPC должен быть быстрее, чем TCP.Если вы готовы перейти к одному процессу, INPROC определенно будет работать намного быстрее.

0 голосов
/ 17 августа 2015

Я думаю (не проверял), что ответ ложный, поскольку ZMQ, вероятно, использует ту же стандартную библиотеку C и добавляет некоторые заголовки сообщений.

То же самое относится и к UDP.

То же самое относится к каналам IPC.

ZMQ может быть таким же быстрым, но поскольку он добавляет заголовки, это маловероятно.

Теперь это может быть другая история, если вам действительно нужен какой-то заголовок, и ZMQ реализовал его лучше, чем вы.Как для размера сообщения или типа, но я отвлекся.

...