2016-09-17 24 views
1

为了做一些基准测试,我尝试创建一个巨大的数组。代码很简单:如何在NodeJs上创建2亿个元素的数组?

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

当我用200万个元素运行它时,我得到了FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory。有了2000万元素,这个效果很好,所以我认为我需要改变一些设置。

我正在使用8 GB RAM的MacOS,如果有帮助的话。如果你想增加它运行以下

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

希望这有助于

回答

5

V8的堆大小限制为1 GB..So。

+0

谢谢你。 –

+0

没问题。很高兴这有助于。 –

+0

我们可以增加更多的价值吗?或8000是限制? – user3304007

相关问题