CNode

有人在自己的nodejs项目中使用过堆外内存(off-heap memory)吗?

问答
Ssmile21发布于8 年前最后回复8 年前2 回复3478 浏览0 收藏

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

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

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

查看回复

回复 (2)

J
JacksonTian#1·8 年前

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

Y
yuedun#2·8 年前

buffer使用的就是堆外内存

参与回复
登录后即可参与回复。登录