内存node.js Buffer内部使用多less个实际字节来存储1个逻辑字节的数据?

Node.js文档指出:

缓冲区类似于整数数组,但对应于V8堆外部的原始内存分配。

我是正确的,所有的整数都表示为内部在JavaScript中的64位浮点数?

这是否意味着在Node.js缓冲区中存储1个字节实际上需要8个字节的内存?

谢谢

缓冲区只是一个字节数组,所以缓冲区的长度基本上是缓冲区占用的字节数。

例如, 新的Buffer(size)构造函数logging为"Allocates a new buffer of size octets." 这里octets清楚地将单元识别为单字节值。 同样, buf[index]指出"Get and set the octet at index. The values refer to individual bytes, so the legal range is between 0x00 and 0xFF hex or 0 and 255."

虽然缓冲区绝对是一个字节数组,但是可以使用缓冲区对象上可用的buf.read *类的函数以整数或其他types与其交互。 它们中的每一个都具有受操作影响的特定数量的字节。

对于内部的更多细节,Node只是将这个长度传递给smalloc ,这个malloc就像你期望分配指定的字节数一样。

Interesting Posts