I would like to seek an opinion regarding boost:: interprocess:: message_queue vs boost::lockfree::queue.
Has anyone used boost::lockfree::queue or any of Boost.LockFree data structures in any embedded platforms?
I have a producer-consumer scenario involving multiple threads. Tried out a sample code using int values pushing to/consuming from the queue & analysed elapsed time between push/pop on a Linux x86. It's found boost::lockfree::queue gives better time performance results compared to boost:: interprocess:: message_queue.
Haven't tried this on actual hardware target yet. Our hardware target is an ARM based processor running QNX RTOS.
I'm listening to Herb's CppCon talk on Lock-free programming now.
It would be great if any of you has any other recommendations/pros or cons I need to be aware of before I fix boost::lockfree::queue rather than boost:: interprocess:: message_queue in our production code?