Javascript内存不足
下面的代码是从较大的代码库中提取和压缩的。它的存在只是为了解决我的问题Javascript内存不足,javascript,arrays,Javascript,Arrays,下面的代码是从较大的代码库中提取和压缩的。它的存在只是为了解决我的问题 function testit(N) { var result = []; var row = []; var field = ''; function flushField() { row.push(field); field = ''; } function flushRow() { result.push(row
function testit(N) {
var result = [];
var row = [];
var field = '';
function flushField() {
row.push(field);
field = '';
}
function flushRow() {
result.push(row);
row = [];
}
for (var row_count=0; row_count<N; ++row_count) {
for (var field_count=0; field_count<10; ++field_count) {
field = row_count + ' ' + field_count;
flushField();
}
flushRow();
}
return result;
}
功能测试(N){
var结果=[];
var行=[];
变量字段=“”;
函数flushField(){
行。推(场);
字段=“”;
}
函数flushRow(){
结果:推动(世界其他地区);
行=[];
}
对于(var row_count=0;row_count尝试使用Web woker做一件事,我建议您在google chrome上运行此代码,点击shift+escape打开chrome任务管理器并检查实际内存大小consumes@UdoKlein:您没有停止运行慢速脚本异常吗?@UdoKlein为什么需要保留47.001
数组和470.000
内存中的字符串?即使您可以优化此代码,您仍然可以找到一个太大的N
。正如我所说,这是一个更大的代码库的一部分。在我尝试重构它之前,我必须了解潜在的问题。当然,我可以替换“刷新”通过函数调用。然后该函数可以处理这些项。这将减少这部分代码的内存消耗。但稍后,这些内容会以类似的方式再次收集。如果我想摆脱这些,我需要重构一个包含其他人实现的内容的广泛代码库。在我尝试弄乱之前有了这些东西,我更想了解发生了什么。