将jQuery UI 1.7.2升级到1.8.7会导致性能提升吗?

时间:2010-12-20 17:50:24

标签: jquery performance jquery-ui upgrade

我的网站仅使用jQuery UI中的对话框和按钮。一般情况下工作正常,但有时用户会面临轻微的性能问题;他们认为,这个系统没有应有的那么敏感。

从jQuery 1.4.2升级到1.4.4确实做得很好,因为我的代码中有很多find() / filter()次调用。我是否希望通过升级jQuery UI获得一些性能优势?

3 个答案:

答案 0 :(得分:5)

关于升级库,有几点需要考虑。

  1. 这样做有多难。很多时候,如果是次要版本升级,您将不会看到任何API更改或任何此类性质的更改。执行升级应该是一个相当顺利的过程。在这种情况下,我看不出您不会执行升级的任何原因。
  2. 在转到更主要版本的情况下,您需要考虑可能导致升级到新版本库的API更改需要更长时间。这可能不仅仅是一个简单的想法“放下新图书馆而且你很高兴。”话虽如此,我通常会尽量使我的库保持最新状态。是的,现在可能稍微多做一些工作,但从长远来看,连续升级图书馆比每5年一次更容易。
  3. 至于升级到1.8.7的性能改进类型,请查看release notes。您不仅应该看到改进,还应该有更多的功能可用性。

    所有这些都说......

    很多时候,如果使用库的代码得到改进,性能改进会受到更好的影响。更好的算法,更好的结构使用等可以显示比仅升级库更好的改进。我将研究这个以及升级jQueryUI库。

答案 1 :(得分:0)

发行说明说它更轻 - 我猜测它有助于它更快一点。

答案 2 :(得分:0)

我会先调查你的代码。

尽可能使用ID而不是类。

通过缓存将选择操作保持在最低限度。 特别是如果你在经常被调用的块中这样做的话。

例如:

if( $('#some-id').find('.foo').length > 0 ) {
  //do something with foos
  console.log($('#some-id').find('.foo'));
}

应该是

var $foos = $('#some-id .foo');
if( $foos.length > 0 ) {
  //do something with foos
  console.log($foos);
}

您调查过代码并进行测试后。

我会继续升级,然后在所有浏览器中首先在本地计算机上重新测试。 如果一切正常,为什么不升级?