gpt4 book ai didi

node.js - Node.js 缓冲区的最大大小是多少

转载 作者:IT老高 更新时间:2023-10-28 21:56:12 25 4
gpt4 key购买 nike

我在读取一个太大而无法放入缓冲区的文件时遇到 fatal error 。

FATAL ERROR: v8::Object::SetIndexedPropertiesToExternalArrayData() length exceeds max acceptable value

或者,

RangeError: "size" argument must not be larger than 2147483647at Function.Buffer.allocUnsafe (buffer.js:209:3)

如果我尝试分配 1GB 缓冲区,我会遇到同样的 fatal error ,

var oneGigInBytes = 1073741824;
var my1GBuffer = new Buffer(oneGigInBytes); //Crash

Node.js Buffer 类实例的最大大小是多少?

最佳答案

V8 中类型化数组的最大长度当前设置为 kSmiMaxValue,具体取决于平台:

  • 1Gb - 32 位 1 字节
  • 2Gb - 64 位 1 字节

代码中的相关常量是v8::internal::JSTypedArray::kMaxLength (source)。

V8 团队正在努力在 64 位平台上进一步提高这一点,目前 ArrayBuffer 对象可以达到 Number.MAX_SAFE_INTEGER 大 (2**53 - 1)。见 bug 4153 .

关于node.js - Node.js 缓冲区的最大大小是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8974375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com