有人在自己的nodejs项目中使用过堆外内存(off-heap memory)吗?
发布于 6 年前 作者 smile21 2838 次浏览 来自 问答

简单描述:项目中需要在单个进程中维护一个巨大的结构(请别问为什么),极限情况可以简化成length > 1000w的object array,修改v8参数–max-old-space-size,将其放在js堆内, gc停顿基本就不可用了。

目前的思路是开一块buffer,将其放在buffer中,但涉及到很多细节问题,buffer尺寸的动态扩充,删除回收再利用等等

请问各路大神,有没将这件事解决的很漂亮的第三方库/lib ? 或者大家能否提供一些其他思路?

2 回复

V8 对大堆的支持肯定是不怎样的。你要么考虑用 Addon 在 C/C++ 上面维护这个结构,JS 提供 API。要么重新考虑下架构,分拆成多个小点。

buffer使用的就是堆外内存

回到顶部