如何在 C++ 中读取和写入大 std::vector<std::vector<float>> 文件
How to read and write large std::vector<std::vector<float>> to file in C++
在我的程序的构造函数中,我使用嵌套 std::vector<std::vector<float>>
.
生成了一个非常大的 2048 * 2048 浮点数查找 table
每次查找 table 总是相同的,所以我想将此 table 写入文件以保存重新计算它。
实现此目标的最佳方法是什么?最好将值写入大 header,还是保存 object 的二进制副本更明智?
提前致谢!
编辑:
如果它有任何意义,可能与分配内存所花费的时间有关,这是通过以下模式完成的:
dataStructure.resize(numberOfRows);
for (int i = 0; i < numberOfRows; i++)
dataStructure[i].resize(numberOfColumns);
其中数据结构是 std::vector<std::vector<float>>
这种情况下的答案是优化查找 table 生成。我做的工作比要求的多得多,现在加载时间几乎是即时的。
对于那些以后看到这个线程有类似问题的人,评论中有很好的一般性建议。
感谢所有贡献者的关注!
在我的程序的构造函数中,我使用嵌套 std::vector<std::vector<float>>
.
每次查找 table 总是相同的,所以我想将此 table 写入文件以保存重新计算它。
实现此目标的最佳方法是什么?最好将值写入大 header,还是保存 object 的二进制副本更明智?
提前致谢!
编辑:
如果它有任何意义,可能与分配内存所花费的时间有关,这是通过以下模式完成的:
dataStructure.resize(numberOfRows);
for (int i = 0; i < numberOfRows; i++)
dataStructure[i].resize(numberOfColumns);
其中数据结构是 std::vector<std::vector<float>>
这种情况下的答案是优化查找 table 生成。我做的工作比要求的多得多,现在加载时间几乎是即时的。
对于那些以后看到这个线程有类似问题的人,评论中有很好的一般性建议。
感谢所有贡献者的关注!