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

时间:2016-09-17 18:50:14

标签: javascript arrays node.js macos

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

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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

希望这有帮助。