使用std :: queue与std :: deque时的性能损失?

时间:2016-03-02 11:45:18

标签: c++ queue deque

我想知道使用std :: queue与std :: deque是否有任何惩罚。 当玩玩具线程池时,它突然出现在我的脑海中,并且记得安东尼·威廉姆斯的并发书中的deque构建了这样的池的示例,尽管在这种情况下队列使用会更清楚。

快速浏览Visual Studio会显示对底层双端队列的间接调用,例如:

template<class... _Valty>
       void emplace(_Valty&&... _Val)
       {    // insert element at beginning
       c.emplace_back(_STD forward<_Valty>(_Val)...);
       }

这个间接调用是否被所有编译器优化了,或者这里有一个小小的惩罚? 我不知道这个容器适配器的性能标准是什么。提到了Deque的复杂性,但队列中没有任何东西 - 当然应该是相对于底层容器的。

0 个答案:

没有答案