[zeromq-dev] inproc message delivery

Max Kozlovsky max at portworx.com
Wed Apr 5 23:50:08 CEST 2017


What exactly is your test doing? What is your message size and how many
messages you send at a time?

For a test that send one small message at a time between two threads it is
does make sense that IPC message passing would be roughly the same as
inproc transport.

Inproc transport will add a message to the peer queue, then write to an
eventfd that other thread epoll()s. The other thread would wake up, read
the eventfd to clear the event and process message from the queue.

Compare this with IPC message passing. Sender would write a small message
directly to the other process socket, that other thread polls. The receiver
will read a small message from kernel and process the message.

As you can see, the two are almost exactly equivalent.

You should see some difference when messages are bigger because of memory
copy avoidance, or when multiple messages are sent, when extra system calls
are avoided.


On Wed, Apr 5, 2017 at 2:33 PM, Marlborough, Rick <RMarlborough at aaccorp.com>

> Designation: Non-Export Controlled Content
> Folks;
>     We are testing message delivery between 2 zmq sockets. We have done
> testing over the network between 2 nodes, on a single node and within a
> single process. For the single process case we use inproc transport. When
> we examine the delivery times we find that single node ipc transport is
> better than network. Surprisingly, inproc transport performance is
> virtually indistinguishable from ipc transport. I would expect ipc to be
> blazing fast in comparison. For the record we are using ZeroMQ 4.2.2 on red
> hat 7 64 bit. What should I expect using ipc transport?
> Thanx
> Rick
> 3.1.1001
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20170405/29925400/attachment.htm>

More information about the zeromq-dev mailing list