【发布时间】:2013-03-07 12:11:17
【问题描述】:
选项: 1. 将整个文件读入一个巨大的缓冲区,然后解析。 2. 将文件映射到虚拟内存。 3. 分块读取文件,并逐个解析。
该文件可以包含相当任意的数据,但主要是数字、值、字符串等以特定方式格式化(逗号、括号、引号等)。 哪个选项会给我最好的整体性能?
【问题讨论】:
-
“大”有多大?
-
选项#3 通常是你最好的。而 C++ 有内置的方法来帮助实现这一点!
-
#1 会在缓存中搜索“大”文件。在大多数情况下,#2 和#3 的速度相同。 #2 通常更方便。
-
可能是 #2 - 让您的操作系统处理缓存和分页。