Joh*_*ski 5 c++ arrays vector multidimensional-array
有没有可靠的测试清楚地显示访问和写入嵌套向量与C++的内置数组之间的性能差异?我听说使用嵌套(多维)向量通常比访问单个数组中的元素(其中所有元素都存储在连续的内存中)有一些性能开销,但这对我来说似乎只是假设.我还没有看到任何实际显示这些差异的测试.它们重要吗?我确信它取决于场景,但作为一个缺乏经验的程序员,我不太确定这些差异在多大程度上变得显着.
这绝对取决于场景,在某种程度上我认为不可能以一般方式回答哪种方法最快.最快的方法是访问模式具有最佳数据局部性的方法 - 这在很大程度上取决于访问模式以及结构在内存中的布局方式,在嵌套向量的情况下依赖于分配器并且可能在编译器之间有很大差异.
我遵循优化的一般规则,即首先以最直接的方式编写内容,然后在证明存在瓶颈时尝试优化.