今天我遇到了一个奇怪的问题。这对于其他人来说可能是一个简单的答案,但是它却让我困惑了。为什么下面的代码会导致内存错误?
var cur = 167772160;
var bcast = 184549375;
var addresses = [];
while (cur <= bcast){
cur += 1;
addresses.push(cur);
}
addresses.length
addresses // memory goes from a few megs to over a gig in seconds when trying to print this
我得到了这两个错误之一......第一个是当我在Node的解释器中运行此代码时,而后一个是当我通过nodeunit运行它时:
致命错误:CALL_AND_RETRY_2分配失败 - 进程内存不足
致命错误:JS分配失败 - 进程内存不足