如何在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
希望这可以帮助。