在现代C+中,入侵容器是否仍比非入侵容器具有性能优势+;? 代码> Boost < /Cord>容器在现代C++(具有移动语义, EpTrimeBuffe/Cuff>)等方面仍具有优于非侵入性标准( STD::/COD>)的性能优势。 < P>是的,即使在STL容器使用移动语义时,仍然存在许多入侵容器的优势。特别是,内存局部性仍然可能会更好,这在某些情况下可以产生巨大的性能提升。此外,迭代器仍然可以大大受益,避免异常带来的任何开销可以加快插入/删除操作

在现代C+中,入侵容器是否仍比非入侵容器具有性能优势+;? 代码> Boost < /Cord>容器在现代C++(具有移动语义, EpTrimeBuffe/Cuff>)等方面仍具有优于非侵入性标准( STD::/COD>)的性能优势。 < P>是的,即使在STL容器使用移动语义时,仍然存在许多入侵容器的优势。特别是,内存局部性仍然可能会更好,这在某些情况下可以产生巨大的性能提升。此外,迭代器仍然可以大大受益,避免异常带来的任何开销可以加快插入/删除操作,c++,c++11,move-semantics,intrusive-containers,boost-intrusive,C++,C++11,Move Semantics,Intrusive Containers,Boost Intrusive,参考增压参考章节中的表19.1。这些优势大部分可能仍然存在,例如: 插入/擦除时间 内存局部性 例外保证 从值计算迭代器 内存使用 Boost文档提供了一些示例,展示了各种操作在不同场景中的相对性能。如果你认为哪些主要不受分配的影响,仍然有相当大的潜力。 当然,性能和最佳性的问题最终将主要取决于您的特定应用程序,因此不宜对“最佳”或“最快”的方法作笼统的陈述。没有什么可以替代分析特定代码和评估额外复杂性所涉及的权衡

参考增压参考章节中的表19.1。这些优势大部分可能仍然存在,例如:

  • 插入/擦除时间
  • 内存局部性
  • 例外保证
  • 从值计算迭代器
  • 内存使用
Boost文档提供了一些示例,展示了各种操作在不同场景中的相对性能。如果你认为哪些主要不受分配的影响,仍然有相当大的潜力。

当然,性能和最佳性的问题最终将主要取决于您的特定应用程序,因此不宜对“最佳”或“最快”的方法作笼统的陈述。没有什么可以替代分析特定代码和评估额外复杂性所涉及的权衡