我正在分析我打算在 Android (PhoneGap) 上的嵌入式浏览器上使用的 javascript 代码。
基本上,我的计算需要一个非常大的位域(200k+ 位)。
我试图将它们放入无符号整数数组中,每个项目存储 32 位 - 这确实减少了内存使用量,但执行时间非常慢(在现代 PC 上简单迭代和反转位域中的所有位超过 30 秒!)
比我制作好的老式布尔数组。这增加了内存使用量(但我的代码周围的整个 PhoneGap 框架在 Android 上仍然不到 15 兆)。分析向我展示了我算法的初始步骤 - 将位域的所有元素设置为 1(简单的 for 循环) - 需要一半的执行时间(在 PC 上约为 1.5 秒,在 Android 上超过几分钟)。我可以重写我的代码,所以默认值是 0 而不是 1(反转所有条件),但我仍然不知道如何将这么大的数组快速设置为 0。
根据要求编辑添加我的代码:
var count = 200000;
var myArr = [];
myArr.length = count;
for(var i = 0; i < count ; i++)
myArr[i] = true;
有人可以指出我如何清除非常大的数组,或者有没有更快的方法来存储和操作 javascript 中的大位域?