Добрый день!
В поисках подходящего lock-free контейнера наткнулся на concurent_queue с ограничением размера очереди от Intel TBB. Касательно интерфейса и поведения контейнер всем устраивает. Написал тест: два потока — один постоянно помещает элементы в очередь, а другой непрерывно их оттуда считывает. Все здорово, все работает, но почти в 10 раз медленнее, чем при использовании std::deque, доступ к которой синхронизируется критической секцией... Кто-нить может подсказать в чем дело? ОС Win7, Visual Studio 2008 SP1, компилил под x86.