Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将jQueryUI1.7.2升级到1.8.7是否会提高性能?_Jquery_Performance_Jquery Ui_Upgrade - Fatal编程技术网

将jQueryUI1.7.2升级到1.8.7是否会提高性能?

将jQueryUI1.7.2升级到1.8.7是否会提高性能?,jquery,performance,jquery-ui,upgrade,Jquery,Performance,Jquery Ui,Upgrade,我的站点只使用jQuery UI中的对话框和按钮。总体而言,一切正常,但有时一些用户会面临光性能问题;在他们看来,这一体系的反应不如应有的快 从jQuery 1.4.2升级到1.4.4确实做得很好,因为我的代码中有很多find()/filter()调用。我是否应该从升级jQuery UI中获得一些性能优势?发行说明说它更轻-我想冒险猜测一下,这也有助于它更快一点。关于升级库,有几件事需要考虑 要做到这一点有多困难。很多时候,如果只是一个小的版本升级,您将不会看到任何API更改或任何类似性质的更改

我的站点只使用jQuery UI中的对话框和按钮。总体而言,一切正常,但有时一些用户会面临光性能问题;在他们看来,这一体系的反应不如应有的快


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

发行说明说它更轻-我想冒险猜测一下,这也有助于它更快一点。

关于升级库,有几件事需要考虑

  • 要做到这一点有多困难。很多时候,如果只是一个小的版本升级,您将不会看到任何API更改或任何类似性质的更改。执行升级应该是一个相当顺利的过程。在这种情况下,我看不出您有任何理由不执行升级
  • <> LI>在一个更大的版本中,你需要考虑API的变化,这可能导致升级到一个新版本的库需要更长的时间。这可能不仅仅是一个简单的想法“顺便去新图书馆,你就可以去了。”尽管如此,我通常会尽量让我的图书馆保持最新。是的,现在的工作可能会稍微多一些,但从长远来看,持续升级一个库要比每5年升级一次容易得多 如果升级到1.8.7,您将看到性能改进的类型,请查看。您不仅应该看到改进,还应该有更多的功能可用性

    说了这么多…


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

    我会首先研究您的代码

    尽可能使用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);
    }
    
    在您调查代码并进行测试之后

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

    打火机可能意味着很多不同的东西。例如,它可以循环滚动以使代码更小。官方发行说明说明框架变得更加模块化,人们甚至可以选择在自定义编译中包含的模块。但在访问内部对象、检查类是否可用等时,它也可能导致一些额外的检查。所以对我来说,现在还不清楚jqueryui是否运行得更快。你自己运行过测试吗?你在代码中的任何地方都使用了setInterval吗?如果是这样,试着重构它。也许可以尝试使用DOMNodeInserted或jQuery.live方法。是的,谢谢。我知道这些优化技巧,我编写代码以尽可能快地保持它,在不同的浏览器中测试各个部分的性能问题。我甚至编写了一个应用程序,可以将鼠标点击发送到X屏幕,并编写了一个服务器端脚本,计算系统在夜间成功运行的次数等等。所以总体思路是“为什么它不应该至少和以前一样好”。是吗?@d0rc-差不多。只要API中的更改不需要昂贵的升级成本,我会选择它。@d0rc-没错,只要它是一个稳定的版本。