jQuery - 提高处理 XML 时的选择器性能

2024-05-15

我正在处理一个 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. enter image description here

附注它基于以下事实:每个 xml 节点中所有通道的顺序相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 提高处理 XML 时的选择器性能 的相关文章

随机推荐