如何在NodeJ上创建一个包含2亿个元素的数组?

Alb*_*era 1 javascript arrays macos node.js

为了做一些基准测试,我试图创建一个巨大的数组.代码很简单:

var hugeArray = [];
for (var i = 0; i < 2*1000*1000*100; i ++) {
    hugeArray.push(Math.ceil(Math.random()*100))
}
console.log(hugeArray.length);
Run Code Online (Sandbox Code Playgroud)

在我用2亿个元素运行之后,我得到了FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory.有2000万个元素,效果很好,所以我想我需要改变一些设置.

我正在使用带有8 GB RAM的MacOS,如果这有帮助的话.

Myk*_*yuk 6

V8的堆大小限制为1 GB.所以如果你想增加它的运行跟随

node --max-old-space-size=8000 yourScript.js

希望这可以帮助.