我使用这段代码是为了将一些大型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;谢谢帕特
发布于 2010-10-15 23:37:27
你的时间不是循环。问题是这样的:ff[z] = scc(text.charCodeAt(z) & 255);,你是在增量地增长ff吗?那肯定是头猪,我保证。
如果您只是在调试器下运行它并暂停它,我打赌您会在ff的发展过程中看到它。预分配。
发布于 2010-10-15 10:52:33
在服务器上将数据转换为JSON数组。即使使用原生JSON引擎,8/10兆字节也需要很长时间。我不确定为什么JS应用程序需要8/10兆的数据。如果您正在下载到客户端的设备上,请将其转换为他们期望的格式,并直接链接到该格式。然后他们可以下载并自己处理它。
https://stackoverflow.com/questions/3938892
复制相似问题