[zeromq-dev] striking difference in performance among ZeroMQ bindings.

crocket crockabiscuit at gmail.com
Fri May 3 06:38:49 CEST 2013


There is a DEALER that sends messages and receives identical messages in a
batch.

There is the ROUTER that just sends back what it receives to the sender.

I tested JeroMQ, labview-zmq, jzmq, and PyZMQ.

The test source code is at https://github.com/crocket/ZeroMQThroughputTest

To summarize the test results on a windows xp sp3 32bit system with 3GB RAM,
for messages of 10 bytes, JeroMQ >> jzmq >>> PyZMQ >>> labview-zmq
for messages of 1 kilobytes, JeroMQ = jzmq = PyZMQ >>> labview-zmq
for messages of 10 kilobytes, JeroMQ = jzmq = PyZMQ = labview-zmq

Below are the test results.

Why is labview-zmq so slow when sending small messages?
It's just a wrapper around libzmq like jzmq and PyZMQ.

1) JeroMQ

It took 1.59 seconds to process 600000 messages of size 10 Byte(s) in a
batch
376411.54 messages/second

It took 35.81 seconds to process 600000 messages of size 1.0 KiloByte(s) in
a batch
16754.16 messages/second

It took 304.89 seconds to process 600000 messages of size 10.0 KiloByte(s)
in a batch
1967.92 messages/second

2) jzmq

It took 4.63 seconds to process 600000 messages of size 10 Byte(s) in a
batch
129729.73 messages/second

It took 34.30 seconds to process 600000 messages of size 1.0 KiloByte(s) in
a batch
17494.75 messages/second

It took 48.36 seconds to process 100000 messages of size 10.0 KiloByte(s)
in a batch
2067.82 messages/second
(If I try to send 600,000 messages of 10 kilobytes in a batch, it says "not
enough space".)

3) PyZMQ

It took 6.51 seconds to process 150000 messages of size 10Byte(s) in a batch
23021.58  messages/second

It took 8.78 seconds to process 150000 messages of size 1.0Kilobyte(s) in a
batch
17081.85  messages/second

It took 73.78 seconds to process 150000 messages of size 10.0Kilobyte(s) in
a batch
2033.03  messages/second

4) labview-zmq

It took 11.79 seconds to process 40000 messages of size 10Byte(s) in a batch
3390.73  messages/second

It took 13.70 seconds to process 40000 messages of size 1.0Kilobyte(s) in a
batch
2919.04  messages/second

It took 20.67 seconds to process 40000 messages of size 10.0Kilobyte(s) in
a batch
1935  messages/second
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130503/67b70365/attachment.htm>


More information about the zeromq-dev mailing list