我正在从事的一个项目中,我需要将一个大型数组加载到内存中,构造各种索引和派生数据,并在完成加载和处理后,确保从其他进程访问这些数据的最大速度,而不会产生使用SQL/NoSQL和进程间通信(IPC)的开销.此外,利用这些经过处理的数据的过程几乎需要立即开始.
在这种情况下,使用mmap替代堆以实现对另一个进程创建的内存数据的快速访问而不需要重新处理它是否可行?
此外,我还面临着通过mmap动态分配地址的挑战,mmap在地址空间中分配随机地址.在这方面,有没有办法改变mmap的行为?我是否应该考虑使用某种形式的索引或偏移量?或者,有没有一种完全不同的方法更适合这项任务?