是否值得两次通过文件进行迭代,以创建最小的数据结构



这可能是一个简单的问题,但是:

说我有一个格式化的文件,以便每行有一个值。说我想阅读此文件,并将每个值存储在数组或向量中。

向量方法很简单。从文件中读取一行,然后插入向量。

我可以看到使用数组的唯一方法是循环一次遍历文件中的每一行以计数行,然后创建该大小的数组,然后第二次循环每行以存储值。

哪种更好的方法?矢量的额外笨重是否足以避免障碍?这是无关紧要的,并且通过文件进行了两次迭代?

如果使用vector,则每个数据的每个字节平均两次写给RAM。

如果您使用磁盘,则平均从磁盘或从缓存中读取每个字节。

RAM比磁盘快,通常vector是更好的方法。

在绩效分析中确定任何确定的事情的唯一方法是尝试两种方式和测量。科学ftw。

最新更新