4 ms·
It's got absolutely nothing to do with optimization, it just happens to be rather fast. As far as I know, there is know other tool out there, fast or slow, that
by dtf 16y ago
It's got absolutely nothing to do with optimization, it just happens to be rather fast. As far as I know, there is know other tool out there, fast or slow, that offers zeromq's level of simplicity.
1) It's a networking library
Yes, but one that's easy to use. Versus BSD sockets, which have an annoying array of quirks when programming for multiple platforms.
Moreover, it's consistent whatever your transport. One thing I've found using zeromq is that, because it's so simple to use, it makes you want to think in terms of message passing. I use a queue to push messages between threads at practically no cost. Then later if I feel like it I can shunt the consumer to a different process, or a different host, or several different hosts with a load balancer. I could do the same with raw sockets, but I'd rather eat my own leg with a spoon.
2) It uses a binary protocol. Good luck debugging that with syslog.
It's just a packet. You can put whatever you want in it: XML, JSON, protocol buffers, msgpack, JPEG.... The wire protocol is trivial.
It also has jolly nice bindings for Python, Ruby, Lua etc, allowing you to bridge between C or C++ and your scripted components with zero hassle.
Go on, give it a go.
- aaronblohowiak 16y ago"As far as I know, there is know other tool out there, fast or slow, that offers zeromq's level of simplicity." STOMP! Stomp is simpler than 0mq, but you have a central server instead of point to point.
- sustrik 16y agoNot really. Compare 0MQ's wire protocol: http://rfc.zeromq.org/spec:2 http://rfc.zeromq.org/spec:2 and STOMP: http://stomp.codehaus.org/Protocol http://stomp.codehaus.org/Protocol