Boost C++ Libraries: Ticket #5952: interprocess::message_queue priority forces linear insert time https://svn.boost.org/trac10/ticket/5952 <p> interprocess::message_queue uses a priority queue for ordering messages, which is fine, except that many applications don't have any use for the priority feature, and would rather use a straight FIFO queue. </p> <p> The reason this matters is that when using messages with all the same priority, each addition to the queue requires a linear complexity insertion. </p> <p> Seems that there should be an option to not provide a message priority, and let the message queue use something more like a ring/circular buffer with low overhead and constant insertion time. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5952 Trac 1.4.3 Ion Gaztañaga Tue, 07 Aug 2012 18:40:18 GMT <link>https://svn.boost.org/trac10/ticket/5952#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5952#comment:1</guid> <description> <p> I've just committed (revision 79898) an implementation that uses a circular buffer as index and optimizes common lookups for uses cases without priority usage. It should be much faster. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ion Gaztañaga</dc:creator> <pubDate>Thu, 10 Jan 2013 19:22:34 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/5952#comment:2 https://svn.boost.org/trac10/ticket/5952#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Fixed in Boost 1.52. </p> Ticket