将jQueryUI1.7.2升级到1.8.7是否会提高性能?
我的站点只使用jQuery UI中的对话框和按钮。总体而言,一切正常,但有时一些用户会面临光性能问题;在他们看来,这一体系的反应不如应有的快将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 1.4.2升级到1.4.4确实做得很好,因为我的代码中有很多
find()
/filter()
调用。我是否应该从升级jQuery UI中获得一些性能优势?发行说明说它更轻-我想冒险猜测一下,这也有助于它更快一点。关于升级库,有几件事需要考虑
很多时候,如果使用库的代码得到改进,性能改进会受到更好的影响。更好的算法、更好地使用结构等可以显示出比仅仅升级库更好的改进。我会在升级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-没错,只要它是一个稳定的版本。