gpt4 book ai didi

c++ - 快速读取和写入文件数据

转载 作者:行者123 更新时间:2023-11-30 04:36:04 28 4
gpt4 key购买 nike


我有一个应用程序,它在初始化时创建了一个图,我在该图上执行全对最短路径并稍后使用结果。

由于图表很大,这需要大约 10-12 分钟的时间,而且我每次创建的图表都是相同的,所以我可以计算一次矩阵,转储它并在以后重用它。

但是,只有当将数组读入内存所花费的时间较少并且数组可以有多达 35M 个元素时,这才有意义。(每个 1 个字节,35M)

是否有一些快速转储/读取数据的方法可以实现。

谢谢

最佳答案

可用选项的数量取决于操作系统。在虚拟内存系统中,通常有一种方法可以将一部分内存空间映射到一个文件,并让它根据需要自动来回传输页面。

在大多数带有文件系统的操作系统中,增加文件缓冲区可以显着提高文件读写性能。默认情况下,C++ 和 C 运行时库使用大约 512 或 1024 字节的缓冲区。为您的应用程序将缓冲区增加到 1 到 40 MB 左右。

另一种提高性能的方法是重新考虑数据结构。也许它可以做得更小和/或具有更好的引用位置。彼此靠近的项目更有可能已经被缓冲或缓存。

真的有必要全部写一个文件吗?

关于c++ - 快速读取和写入文件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4779348/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com