2016-09-17 28 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

相關問題