【发布时间】:2018-07-21 15:08:39
【问题描述】:
在使用调用分析器时,我注意到std::vector::_emplace_back_slow_path 中的运行时成本和分配数量很大。因为我关心性能,所以我想说“快速路径”。我做错了什么?
【问题讨论】:
-
尽量避免内存重新分配。如果可能,请使用
reserve()设置容量(如果您可以合理地预期向量将增长到的大小的合理上限),而不是简单地添加元素。当然,作为一般规则,您还应该避免在性能关键代码中过多地调整向量的大小。