我正在使用这段代码,以便将一些大的ajax responseText重新格式化为良好的二进制数据。虽然很慢,但它仍然有效。
我正在使用的数据可能大到8-10兆。
我需要让这段代码绝对有效。如何将循环展开或Duff的设备应用于此代码,同时仍然保持我的二进制数据完好无损,或者是否有人看到任何可以更改的内容以帮助提高其速度?
var ff = [];
var mx = text.length;
var scc= String.fromCharCode;
for (var z = 0; z < mx; z++) {
ff[z] = scc(text.charCodeAt(z) & 255);
}
var b = ff.join("");
this.fp=b;
return b;
由于 专利
答案 0 :(得分:1)
你的时间不是循环。就是这样:ff[z] = scc(text.charCodeAt(z) & 255);
你逐渐增长ff
吗?这将是一头猪,保证。
如果你只是在调试器下运行并暂停它,我打赌你会在增长ff
的过程中看到它。预分配。
答案 1 :(得分:0)
将数据转换为服务器上的JSON数组。即使使用本机JSON引擎,8/10兆字节也需要很长时间。我不确定为什么JS应用程序需要8/10兆的数据。如果您要下载到客户端的设备,请将其转换为他们期望的格式并链接到它。他们可以自己下载和处理它。