哪个STL容器最适合我的需求?我基本上有一个10个元素的宽容器,在这个容器中我不断使用push_back
新元素pop_front
(大约一百万次).
我目前正在使用a std::deque
来执行任务,但是想知道是否std::list
会更高效,因为我不需要重新分配自己(或者我可能会误认为std::deque
是std::vector
?).或者是否有更高效的容器满足我的需求?
PS我不需要随机访问
正如Knuth所说,
我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源.
这是Stack Overflow常常出现的问题,例如"哪个是最有效的循环机制","SQL优化技术?"等问题.(等等).这些优化提示问题的标准答案是分析您的代码并首先查看它是否是一个问题,如果不是,那么您的新技术就不再需要了.
我的问题是,如果某种技术不同但不是特别模糊或混淆,那真的可以被认为是过早的优化吗?
这是Randall Hyde的一篇名为"过早优化的谬误"的相关文章.