【发布时间】:2012-01-21 03:43:19
【问题描述】:
我在 Stack Overflow 和其他地方读到向量比数组的读写速度更快。我的程序有一个有趣的问题,我正在读取的文件包含许多不同类型的片段,但在我阅读它们之前我不知道每种类型有多少片段。因此,例如,如果片段 1 可以通过
struct frag_1
{
int number1;
int number2;
};
我已经遍历文件一,计算每个片段类型出现的次数,分配类型为片段结构的内存数组,就像示例结构一样,然后我填充并操作它们。
看起来向量的读写速度要快得多,动态的我可以随时添加到它们中,而且通常是更好的实践。
这是真的吗?谢谢。
【问题讨论】:
-
“我在 Stack Overflow 和其他地方读到向量比数组的读写速度更快。” 我非常怀疑这个说法的真实性。充其量只是一个微优化。
-
充其量是完全错误的。 :-)
-
您能详细说明一下吗?我看到一些基准表明向量确实更快。
-
@SatchmoBrown:这是不可能的,因为向量在下面使用数组...
-
@SatchmoBrown:向量通常使用一个数组来实现,因此从逻辑上讲,只能执行得快或慢。然而,向量提供的便利通常大大超过读/写性能的通常微小差异。我很想看到这个基准声称向量更快。
标签: arrays performance vector