I need an ultra-fast MQ mechanism, where both sender and receiver are written in C++, on Windows platform.
My current implementation using RCF-C++ for IPC is clocking at around 20,000 msg/sec over Windows Named Pipes.
I am testing the perf of boost::interprocess Message Queues according to the demo app, and am measuring around 48,000 messages/sec, which is surprisingly slow, considering that when I cooked up a simple Memory Mapped File communication on the same machine (in C# using code from this blog post), I got around 150,000 messages/sec.
Any idea about why I'm getting such slow performance out of boost message_queue, and what I can try to improve it?