如何在NodeJs上创build2亿个元素的数组?

做一些基准testing,我试图创build一个巨大的数组。 代码很简单:

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,如果有帮助。

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

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

希望这可以帮助。