免责声明:这可能是一个研究问题,因为我找不到我要找的东西,而且它非常具体。
问题:我有一个自定义搜索应用程序,需要读取 100K 到 10M 的文件,每个文件的大小在 0.01MB 到大约 10.0MB 之间。每个文件包含一个数组,可以通过 mmap 直接加载为数组。我正在寻找一种解决方案,可以在需要文件之前将文件预取到 RAM 中,如果系统内存已满,则弹出已经处理过的文件。
我知道这听起来很像是操作系统内存管理和类似 memcached 的组合。我实际上正在寻找的是像 memcached 这样的东西,它不返回键的字符串或值,而是返回所选数组开头的地址。此外,(这是一个不同的主题)我希望能够管理共享内存,使 CPU 内核和 RAM 之间的距离在 NUMA 机器上最短。</p>
我的问题是:“这样的工具/库是否已经存在?”
最佳答案
关于c - 用于管理共享映射文件的库或工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067861/