我应该管理页面还是只依靠虚拟内存?

Joe*_*Joe 5 c memory memory-management

我正在用C编写数据库风格的东西(即它将存储和操作大约500,000条记录).我将在内存受限的环境(VPS)中运行它,所以我不希望内存使用量增加.我不打算处理大量数据 - 总共可能高达200MB,但我希望内存占用空间保持在30MB(将这些数字从空中拉出).

我的直觉是我自己的页面处理(真正的数据库这样做),但我收到的建议说我应该只分配它并允许操作系统为我做VM分页.我的数字永远不会超过这个数量级.在这种情况下哪个是最佳选择?

假设第二种选择,在什么时候程序进行自己的分页是否明智?显然,可以处理千兆字节的RDBMsses必须这样做,但在问题值得提出的规模上必须有一点.

谢谢!

Mat*_*ner 9

使用malloc直到它运行.然后,只有这样,开始分析.如果遇到与专有和主流"真实数据库"相同的性能问题,您自然会开始执行缓存/页面/对齐优化.在拥有可用的数据库之后,可以轻松地插入这些内容,并且与具有工作数据库正交.