Have you ever thought about what exactly happens when you subscribe for a topic using SUB socket? The messages have to be checked and those not matching the subscription(s) have to be dropped.
Currently, matching is done using an N-ary search tree, a structure known as trie.
Searching a trie is very fast. The search time is independent of overall number of topics or number of subscriptions. It's linearly dependent only on the length of the topic string in the message being matched. However, with large number of subscriptions the trie can consume more memory than alternative search structures such as hash table. Larger memory usage means that memory cache misses happen more often and slow the algorithm down.
Bhavin Turakhia did a research on trie optimisation and blogged about it.
Written: 18 May 2010 06:30
Revised: 18 May 2010 06:30
If you found this page useful, please rate it up so others will find it.
- Berlin Buzzwords 2010
- Building a GeoIP server with ZeroMQ
- Building ØMQ and pyzmq on Red Hat
- Few Blogposts on ØMQ
- Historical Highlights
- Installing ZeroMQ and Java bindings on Ubunu 10.10
- Internet Worldview in Messaging World
- Load Balancing In Java
- Loggly Switches to ØMQ
- Message Oriented Network Programming
- Mongrel2 Is "Self-Hosting"
- Multithreading Magic
- New - ØMQ Labs!
- Not To Be Confused
- ØMQ - The Game
- ØMQ And QuickFIX
- ØMQ available at CPAN
- ØMQ blog by Gerard Toonstra
- ØMQ for Clojure
- ØMQ/2.0.6 on OpenVMS
- ØMQ/2.0.7 (beta) released
- ØMQ/2.1.0 available on OpenVMS
- Python Multiprocessing With ØMQ
- RFC: ØMQ Contributions, Copyrights and Control
- Ruby Gem for ØMQ/2.0.7 available!
- September Meetups
- The Long and Winding Road Behind
- Video Introduction to ØMQ
- Welcome, Objective-C :-)
- Zero-copy and Multi-part Messages
- ZeroMQ an introduction
- ZeroMQ and Clojure, a brief introduction
- ZeroMQ: Modern & Fast Networking Stack
- ZeroMQ: What You Need to Know Braindump
Who's watching this page?Dominic Luciano
... and more