读取具有 dbms 样式访问模式的文件的最佳方法是什么?我的意思是:
- 我事先知道我需要获取的页面的偏移量。
- 有很长的连续页面。
- 可能存在小的不连续性。
- 可能有很长的不连续性。
- 所有的偏移量都是有序的(没有前后移动)。
此类偏移列表的示例:1,2,3,4,5,6,7,8,1000,1001,1003,1004,1005,1010,1011,1012,31004,31005,31006。
我对使用哪种策略来获得最佳性能有点困惑。
- 我应该依赖 Linux 页面管理器吗?如何?将遍历偏移量并一次读取 1 个块好吗?
- 使用 O_DIRECT 打开文件并管理我自己,即:交替长读取和搜索。在这种情况下我应该禁用预读吗?