Мне нужен сверхбыстрый механизм MQ, где оба отправителя и получателя написаны на С++ на платформе Windows.
Моя текущая реализация с использованием RCF-С++ для IPC работает со скоростью около 20 000 msg/sec по именам имен Windows.
Я тестирую perf of boost:: interprocess Message Queues в соответствии с демонстрационное приложение, и я измеряю около 48 000 сообщений в секунду, что удивительно медленный, учитывая, что когда я приготовил простую связь с файлами Memory Mapped File на том же компьютере (в С#, используя код из этого сообщения в блоге) Я получил около 150 000 сообщений в секунду.
Любая идея о том, почему я получаю такую медленную производительность из boost_queue boost, и что я могу попытаться ее улучшить?