good stuff, thanks for taking it the rest of the way. -mike
On Feb 13, 6:45 pm, Brandon Aaron <[email protected]> wrote: > Very nice... all so quick too! :) > > -- > Brandon Aaron > > On Fri, Feb 13, 2009 at 5:00 PM, John Resig <[email protected]> wrote: > > > Ok, so I took some time and read through the patch more completely. It > > didn't seem like much had actually changed so I wanted to figure out > > the differences. The performance comes from two places: > > > 1) Not using .is(":visible") (that speeds up height/width). > > 2) Re-organizing inner/outerWidth so that they could fast-path through > > the height/width calculations without having to have the dimension be > > re-added. > > > So, I took those two concept and integrated them. > > > The perf test suite: > >http://dev.jquery.com/~john/ticket/3082/<http://dev.jquery.com/%7Ejohn/ticket/3082/> > > > The test suite (passing in all browsers): > >http://dev.jquery.com/~john/ticket/3082/test/?eight<http://dev.jquery.com/%7Ejohn/ticket/3082/test/?eight>(height > > tests) > >http://dev.jquery.com/~john/ticket/3082/test/?idth<http://dev.jquery.com/%7Ejohn/ticket/3082/test/?idth>(width > > tests) > > > The patch: > >http://dev.jquery.com/attachment/ticket/3082/3082.patch > > > Landing: > >http://dev.jquery.com/changeset/6195 > > > The result is even faster than what Mike originally proposed (as you > > can see from the perf test suite). I'm seeing 10-20% over Mike's on > > height/width, 20-30% on innerHeight/Width, 100% on outerHeight/Width, > > and 10-40% on outerHeight/Width(true). > > > Thanks a ton, Mike, for this set of tweaks - it's a huge win! > > > --John > > > On Fri, Feb 13, 2009 at 4:25 PM, John Resig <[email protected]> wrote: > > > Very interesting patch - sorry I apparently missed it/forgot about it > > > before. I'm loving the speed improvements (loaded up IE7 and I'm > > > seeing 2x+ improvements across the board - along with Firefox, etc.) > > > > There are a bunch of points though that we'll need to take into > > consideration: > > > 1) This isn't actually a patch right now - it's more of a plugin (a > > > patch would modify the existing codebase and provide a diff of the > > > changes that need to be made). > > > 2) The code, as it stands, doesn't match any of the existing coding > > > style of jQuery (braces not matching, $ used instead of jQuery, code > > > on the same line as an if, not enough spaces around statements). > > > 3) Why does $.size exist? Why not just have the functionality be in > > > .height()/.width() - or in .curCSS(). I don't see a need for a new > > > function here. > > > 4) Does it still pass the test suite? > > > > Any progress on this would definitely help to get this patch landed. I > > > can take a look at reorganizing all of it eventually - but it might > > > just get delayed - you help will make it go faster. > > > > Thanks! > > > > --John > > > > On Fri, Feb 13, 2009 at 4:00 PM, mike.helgeson <[email protected]> > > wrote: > > > >> I provided a patch about 8 months ago to improve the performance of > > >> the core height and width and dimensions inner/outer[height/width] > > >> methods. > > >http://groups.google.com/group/jquery-dev/browse_thread/thread/a4becc... > > > >> I put together a test page to help make my point... > > > >>http://dev.helgeson.info/dimension/ > > > >> I average the following results using FF3/XP... > > >> (percentages of the unpatched method time) > > >> height & width ~ 73% > > >> innerHeight & innerWidth ~ 44% > > >> outerHeight & outerWidth ~ 19% > > >> outerHeight( true ) & outerWidth( true ) ~ 32% > > > >> I updated the patch to be compatable with 1.3.x > > > >>http://dev.jquery.com/ticket/3082 > > > >> In addition to being more efficient, the methods also simplify the API > > >> by overloading the height/width methods. By passing in a string > > >> ("padding" or "border" or "margin") you get in return, the dimension > > >> through that property. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---
