选项: 1. 将整个文件读入一个巨大的缓冲区,然后解析它。 2. 将文件映射到虚拟内存。 3. 分块读取文件并逐个解析。
该文件可以包含相当随意的数据,但主要是数字、值、字符串等以特定方式(逗号、括号、引号等)格式化的数据。 哪个选项会给我最好的整体性能?
最佳答案
如果文件非常大,那么您可以考虑使用带有选项 2 或 3 的多线程。每个线程可以处理单个文件/内存块,并且您可以重叠 IO 和计算(解析) 这边走。
关于c++ - 从大文件中读取格式化数据的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15488994/