我有8 TB的数据由〜5000个小型元素阵列组成(每个元素一百个字节以下)。我需要将这些数组的部分(一次几十个megs)加载到内存中,以便尽快在算法中使用。内存映射文件是否适合此用途,如果不是,我应该使用其他什么?
答案 0 :(得分:1)
鉴于您的要求,我肯定会使用内存映射文件。这几乎就是他们的目的。由于内存映射文件消耗的物理资源很少,因此与其他方法相比,极大的文件对系统的影响很小,特别是因为较小的视图可以在执行I / O之前映射到地址空间(例如,那些数组)元件)。另一大好处是它们可以为您提供最简单的工作环境。您(大多数时候)可以将您的数据视为大内存地址空间,让Windows担心I / O.显然,你需要构建锁定机制来处理多个线程,但我相信你知道的。