我最近遇到了Mesh: Compacting Memory Management for C/C++ Applications。从论文中:
它引入了Mesh,一种新型的内存分配器,作为malloc的插件替代品。Mesh将虚拟页Map到物理页(meshing)与随机分配和搜索算法相结合,以实现C/C++的安全有效的压缩,而无需重新定位。
结果看起来相当有前途:
[...]它将Firefox的内存消耗减少了16%,将Redis减少了39%。
我对Go的分配器了解得不够充分,无法确切地说我们是否可以采用Mesh(或其部分),但我想提出来,以防论文还没有找到它的人正在研究Go的分配器:)
1条答案
按热度按时间dnph8jn41#
/cc @RLH@aclements