我正在处理一个 XML 文件,当使用 XPath 样式选择器选择节点时,该文件的性能非常慢。
这是运行特别慢的部分代码
for (i=0;i<lanes.length;i++)
htmlContents += GetLaneInfo($(this).find("Lane[num='"+lanes[i]+"']").attr('avg'));
我相信这段代码中最慢的部分是Lane[num=X]
选择器,我怎样才能提高它的性能?我可以缓存吗$(this).find("Lanes")
然后稍后搜索它们?
XML 示例:
<Data time="10:50">
<Lane num="102" avg="2.0"/>
<Lane num="103" avg="2.0"/>
<Lane num="104" avg="2.0"/>
<Lane num="112" avg="2.0"/>
<Lane num="113" avg="2.0"/>
<Lane num="114" avg="2.0"/>
<Lane num="115" avg="2.0"/>
<Lane num="122" avg="0.9"/>
<Lane num="123" avg="1.0"/>
<Lane num="124" avg="1.0"/>
<Lane num="132" avg="0.7"/>
<Lane num="134" avg="0.7"/>
<Lane num="142" avg="0.8"/>
<Lane num="153" avg="0.4"/>
<Lane num="154" avg="0.6"/>
</Data>
尝试这个 :
http://jsperf.com/1f http://jsperf.com/1f
Ive managed to increase the speed.
附注它基于以下事实:每个 xml 节点中所有通道的顺序相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)