我正在使用使用Web Workers处理所有AJAX请求的代码(如果有)。这些工作人员几乎只执行XMLHttpRequest
对象处理(无需额外的计算)。 worker 创建的所有请求都是异步的(request.open("get",url,true)
)。
最近,我遇到了一些与此代码有关的问题,我开始怀疑是应该花时间修复此问题还是只是丢弃整个解决方案。
到目前为止,我的研究表明该代码实际上可能会损害性能。但是,我找不到任何可靠的消息来源来支持这一点。我仅有的两个发现是:
有人可以指出我这个问题的可靠消息来源吗?或者,是否有任何基准可以消除我的怀疑?
[编辑]当WebWorker还负责解析结果(
JSON.parse
)时,此问题会变得更加有趣。异步解析是否提高了性能? 最佳答案
我创建了一个proper benchmark for that on jsperf。取决于浏览器, WebWorker方法比原始ajax调用慢速度85-95%。
笔记:
new XMLHttpRequest()
和JSON.parse(jsonString);
。没有真正的AJAX调用。