Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SizzleWhat’s new in jQuery 1.8?Timmy Willison
PerformanceWat? Fast?
Performance
PerformanceMatching/filtering improved consistently by ~10%  quickIs from event.js moved to Sizzle.filter
PerformanceMatching/filtering improved consistently by ~10%  quickIs from event.js moved to Sizzle.filterSimple selectors (i...
PerformanceMatching/filtering improved consistently by ~10%  quickIs from event.js moved to Sizzle.filterSimple selectors (i...
PerformanceMatching/filtering improved consistently by ~10%  quickIs from event.js moved to Sizzle.filterSimple selectors (i...
Filtering and matching                1.7.2                1.8*Based on http://jsperf.com/jquery-id-init/4 andhttp://jsper...
Filtering and matching                      1.7.2                 1.8100755025 0      event trigger           simple   com...
Sizzle(“div.&*( ~ timmy:checkers [dave^=‘core’]”).length === 0
Ok, there were bugs.
Ok, there were bugs.Improved QSA/matchesSelector bug-detection
Ok, there were bugs.Improved QSA/matchesSelector bug-detection  bypasses in certain browsers on certain selectors
Ok, there were bugs.Improved QSA/matchesSelector bug-detection  bypasses in certain browsers on certain selectors    class...
Ok, there were bugs.Improved QSA/matchesSelector bug-detection  bypasses in certain browsers on certain selectors    class...
Ok, there were bugs.Improved QSA/matchesSelector bug-detection  bypasses in certain browsers on certain selectors    class...
Combinators ( div ~ em + u > * )
Combinators ( div ~ em + u > * )  When using multiple combinators in the same selector,  some possible matches were being ...
Combinators ( div ~ em + u > * )  When using multiple combinators in the same selector,  some possible matches were being ...
Combinators ( div ~ em + u > * )  When using multiple combinators in the same selector,  some possible matches were being ...
Combinators ( div ~ em + u > * )  When using multiple combinators in the same selector,  some possible matches were being ...
Combinators ( div ~ em + u > * )  When using multiple combinators in the same selector,  some possible matches were being ...
Coming UpYou are not prepared.
Coming Up
Coming UpSizzle may still see major changes before 1.8 release
Coming UpSizzle may still see major changes before 1.8 release  Explore implementing a compiler to convert a  selector int...
Coming UpSizzle may still see major changes before 1.8 release  Explore implementing a compiler to convert a  selector int...
Coming UpSizzle may still see major changes before 1.8 release  Explore implementing a compiler to convert a  selector int...
Coming UpSizzle may still see major changes before 1.8 release  Explore implementing a compiler to convert a  selector int...
Coming UpSizzle may still see major changes before 1.8 release  Explore implementing a compiler to convert a  selector int...
Contributing
ContributingSubmit an issue at http://github.com/jquery/sizzle
ContributingSubmit an issue at http://github.com/jquery/sizzle  Pick an issue and dig in
ContributingSubmit an issue at http://github.com/jquery/sizzle  Pick an issue and dig inDiscussion in #jquery-dev, longer ...
ContributingSubmit an issue at http://github.com/jquery/sizzle  Pick an issue and dig inDiscussion in #jquery-dev, longer ...
ContributingSubmit an issue at http://github.com/jquery/sizzle  Pick an issue and dig inDiscussion in #jquery-dev, longer ...
Contributing (ask me) timmywil in #jquery or #jquery-dev @timmywil on the tweeters and the githubs
Up nextjQuery UI updatesScott Gonzalez
Sizzle jQCon San Francisco 2012
Upcoming SlideShare
Loading in …5
×

Sizzle jQCon San Francisco 2012

6,903 views

Published on

Published in: Technology, Business

Sizzle jQCon San Francisco 2012

  1. 1. SizzleWhat’s new in jQuery 1.8?Timmy Willison
  2. 2. PerformanceWat? Fast?
  3. 3. Performance
  4. 4. PerformanceMatching/filtering improved consistently by ~10% quickIs from event.js moved to Sizzle.filter
  5. 5. PerformanceMatching/filtering improved consistently by ~10% quickIs from event.js moved to Sizzle.filterSimple selectors (id only, tag only, class only) improvedby about 5% overall
  6. 6. PerformanceMatching/filtering improved consistently by ~10% quickIs from event.js moved to Sizzle.filterSimple selectors (id only, tag only, class only) improvedby about 5% overallElement-rooted ID selections: 300% improvement
  7. 7. PerformanceMatching/filtering improved consistently by ~10% quickIs from event.js moved to Sizzle.filterSimple selectors (id only, tag only, class only) improvedby about 5% overallElement-rooted ID selections: 300% improvementShorter codepaths to querySelectorAll andmatchesSelector
  8. 8. Filtering and matching 1.7.2 1.8*Based on http://jsperf.com/jquery-id-init/4 andhttp://jsperf.com/jquery-id-init/6 (higher is better)
  9. 9. Filtering and matching 1.7.2 1.8100755025 0 event trigger simple complex element-rooted ID*Based on http://jsperf.com/jquery-id-init/4 andhttp://jsperf.com/jquery-id-init/6 (higher is better)
  10. 10. Sizzle(“div.&*( ~ timmy:checkers [dave^=‘core’]”).length === 0
  11. 11. Ok, there were bugs.
  12. 12. Ok, there were bugs.Improved QSA/matchesSelector bug-detection
  13. 13. Ok, there were bugs.Improved QSA/matchesSelector bug-detection bypasses in certain browsers on certain selectors
  14. 14. Ok, there were bugs.Improved QSA/matchesSelector bug-detection bypasses in certain browsers on certain selectors class[^$*]=”” (Opera/IE9)
  15. 15. Ok, there were bugs.Improved QSA/matchesSelector bug-detection bypasses in certain browsers on certain selectors class[^$*]=”” (Opera/IE9) :checked won’t return selected options as per the spec in versions of Chrome/Safari/Opera
  16. 16. Ok, there were bugs.Improved QSA/matchesSelector bug-detection bypasses in certain browsers on certain selectors class[^$*]=”” (Opera/IE9) :checked won’t return selected options as per the spec in versions of Chrome/Safari/Opera attroperties IE8 (attributes are everywhere!)
  17. 17. Combinators ( div ~ em + u > * )
  18. 18. Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lost
  19. 19. Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lostElement-rooted querySelectorAll with divisions
  20. 20. Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lostElement-rooted querySelectorAll with divisions elem.querySelectorAll(“div, div > em”);
  21. 21. Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lostElement-rooted querySelectorAll with divisions elem.querySelectorAll(“div, div > em”);Unicode validation (improved character encoding per spec)
  22. 22. Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lostElement-rooted querySelectorAll with divisions elem.querySelectorAll(“div, div > em”);Unicode validation (improved character encoding per spec)Several little edge cases
  23. 23. Coming UpYou are not prepared.
  24. 24. Coming Up
  25. 25. Coming UpSizzle may still see major changes before 1.8 release
  26. 26. Coming UpSizzle may still see major changes before 1.8 release Explore implementing a compiler to convert a selector into a function in order to avoid ever looping over elements more than once.
  27. 27. Coming UpSizzle may still see major changes before 1.8 release Explore implementing a compiler to convert a selector into a function in order to avoid ever looping over elements more than once.More css3 selectors (after 1.8)
  28. 28. Coming UpSizzle may still see major changes before 1.8 release Explore implementing a compiler to convert a selector into a function in order to avoid ever looping over elements more than once.More css3 selectors (after 1.8)Provide even more selector validation
  29. 29. Coming UpSizzle may still see major changes before 1.8 release Explore implementing a compiler to convert a selector into a function in order to avoid ever looping over elements more than once.More css3 selectors (after 1.8)Provide even more selector validation e.g. [attr=”value”] - identifier vs. string
  30. 30. Coming UpSizzle may still see major changes before 1.8 release Explore implementing a compiler to convert a selector into a function in order to avoid ever looping over elements more than once.More css3 selectors (after 1.8)Provide even more selector validation e.g. [attr=”value”] - identifier vs. stringThere are still bugs!
  31. 31. Contributing
  32. 32. ContributingSubmit an issue at http://github.com/jquery/sizzle
  33. 33. ContributingSubmit an issue at http://github.com/jquery/sizzle Pick an issue and dig in
  34. 34. ContributingSubmit an issue at http://github.com/jquery/sizzle Pick an issue and dig inDiscussion in #jquery-dev, longer discussion in thepublic Sizzle google group
  35. 35. ContributingSubmit an issue at http://github.com/jquery/sizzle Pick an issue and dig inDiscussion in #jquery-dev, longer discussion in thepublic Sizzle google groupSame styleguide, development workflow as jQuery
  36. 36. ContributingSubmit an issue at http://github.com/jquery/sizzle Pick an issue and dig inDiscussion in #jquery-dev, longer discussion in thepublic Sizzle google groupSame styleguide, development workflow as jQuery See jQuery’s readme (http://github.com/jquery/jquery)
  37. 37. Contributing (ask me) timmywil in #jquery or #jquery-dev @timmywil on the tweeters and the githubs
  38. 38. Up nextjQuery UI updatesScott Gonzalez

×