我正在运行一些大型数组处理代码(在运行Linux的Pentium上)。 数组的大小足够大,以至于进程需要交换。 到目前为止,它仍在工作,可能是因为我尝试保持读取和写入的连续性。 然而,我很快将需要处理更大的数组。 在这种情况下,切换到匿名mmapped块是否有帮助?
如果有,请解释为什么。
在我的浅薄理解中,mmap实现了从tmpfs分区挂载的内存映射文件,该分区在内存压力下会回退到交换机制。 我想了解的是,mmap如何比标准malloc更好(为了论证的目的,我假设它确实更好,我不知道它是否如此)。
注意:请不要建议获取64位和更多RAM。 不幸的是,那不是一个选项。
如果有,请解释为什么。
在我的浅薄理解中,mmap实现了从tmpfs分区挂载的内存映射文件,该分区在内存压力下会回退到交换机制。 我想了解的是,mmap如何比标准malloc更好(为了论证的目的,我假设它确实更好,我不知道它是否如此)。
注意:请不要建议获取64位和更多RAM。 不幸的是,那不是一个选项。