我有两个大约 50GB 的文件:一个输入和一个输出文件。 我正在使用内存映射文件来管理这两个文件。
输入文件包含 3 数百万个网页,在我确定排列 π之后他们,我必须以新的顺序将输出文件写入网页。
因此,我可以选择顺序 输入文件,并在输出<的不同位置中编写网页/ em>文件,相应于排列 π。
或者我也可以这样做:根据排列 π 随机 输入文件并写入顺序进入输出文件。
哪个选项更快?为什么呢?
答案 0 :(得分:1)
TL; DR:由于缓存,所有文件追加操作都是顺序的。即使对文件中间的写入也将按电梯分类并以块大小等方式执行。
随机写作往往比随机阅读更快,原因如下: