[zeromq-dev] Too much ZeroMQ overhead versus plain TCP Java NIO Epoll (with measurements)

Julie Anderson julie.anderson.uk at gmail.com
Wed Aug 29 17:13:41 CEST 2012

Just tested ZeroMQ and Java NIO in the same machine.

The results:
- ZeroMQ:*

message size: 13 [B]
roundtrip count: 100000
average latency: *19.620* [us] *<====== ONE-WAY LATENCY*

*- Java NIO Selector:* (EPoll)

Average RTT (round-trip time) latency of a 13-byte message: 15.342 [us]
Min Time: 11.664 [us]
99.999% percentile: *15.340* [us] *<====== RTT LATENCY*

*Conclusion:* That's *39.240 versus 15.340* so ZeroMQ overhead on top of
TCP is *156%* or *23.900 nanoseconds* !!! That's excessive. I would expect
1 or 2 microseconds there.

So my questions are:

1) What does ZeroMQ do under the rood that justifies so many extra clock
cycles? (I am really curious to know)

2) Do people agree that 23 microseconds are just too much?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120829/e19bb292/attachment.htm>

More information about the zeromq-dev mailing list