2015-09-28 101 views
3

我想使用缓冲区来存储稀疏索引。 如果我分配了一个例如10​​24字节的缓冲区并有效存储了128个字节,那么会在内存中分配多少字节?node.js中的缓冲区分配

+0

你叫什么缓冲区?一个字符串?一个字节数组? –

+0

https://nodejs.org/api/buffer.html – Gael

+1

可能不是v8的一部分,但节点js – Gael

回答

1

根据该构造DOC:

新缓冲液(大小)#

size数 分配一个大小字节一个新的缓冲区。大小必须小于32位体系结构上的1,073,741,824字节(1 GB)或64位体系结构上的2,147,483,648字节(2 GB),否则将引发RangeError

与ArrayBuffers不同,缓冲区的底层内存未初始化。所以新创建的Buffer的内容是未知的,可能包含敏感数据。使用buf.fill(0)将缓冲区初始化为零。

似乎是整个内存分配,但没有归零。

+0

是的,我已经读过,但我正在考虑一个可能的内存分配优化。如果没有,我会做我自己的。 – Gael