Suggestion:

Before "Show us the code" - you need a short excerpt on "Isn't message passing expensive" where you can mention the lock free element of ZeroMQ and expand on the "N-to-N".

   Message passing? Sounds messy and expensive.

   Actually, message passing is just a fancy name for the hand-off of
   marshalled data to someone else. In the simplest, thread-to-thread
   case, it's as simple as passing a pointer. The "Zero" in ZeroMQ
   stands for "Zero Copy".

   In fact, if you've done any work with threads you're probably
   already a message passer - you've just been doing it the hard way
   until now.

   True message passing eliminates the need for mutexes, resource
   locks, condition queues and signals. That makes parallel programming
   easier, cleaner and in most cases it more than pays for the minor
   overhead of a true message passing system. ZeroMQ can compete with
   tools like OpenMP and TBB for sheer performance, but it can also
   work alongside them.

   But best of all, the API doesn't change when you need to step up
   from passing messages between threads of a single process to
   multiple processes or even multiple machines. It's as easy as
   changing the addresses of your connections. ZeroMQ quietly handles
   multiple connections on a single socket for you so you don't have to
   worry about the fiddly networking stuff when you come to make the
   transition.


I'm not sure people are going to register the significance of N-to-N in the 100 word section, the transparent multiplexing of the ZeroMQ sockets is one of the mind blowing things.

Also... Have you considered perhaps considering the term "Mailbox" or "handle" or "descriptor" for the sockets? The more distance you can put between the mundane concept of a BSD/TCP socket and a ZeroMQ zap-pow-kabloom endpoint the better maybe.

- Oliver
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to