• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Sizzle jQCon San Francisco 2012
 

Sizzle jQCon San Francisco 2012

on

  • 3,137 views

 

Statistics

Views

Total Views
3,137
Views on SlideShare
2,888
Embed Views
249

Actions

Likes
3
Downloads
42
Comments
0

5 Embeds 249

https://app.codegrid.net 189
http://lanyrd.com 52
https://staging-codegrid.herokuapp.com 6
http://localhost 1
http://eventsp2.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Welcome, so excited about what we have in store for Sizzle in jQuery 1.8.\nFirst, let’s talk about performance\n
  • Many things stayed the same\n
  • To sum up\n- Based on all of the perf tests I’ve done so far, we have excellent codepaths to QSA and matchesSelector\n- So, we’ve covered some performance stuff. Now the next question is, what did we fix?\n
  • To sum up\n- Based on all of the perf tests I’ve done so far, we have excellent codepaths to QSA and matchesSelector\n- So, we’ve covered some performance stuff. Now the next question is, what did we fix?\n
  • To sum up\n- Based on all of the perf tests I’ve done so far, we have excellent codepaths to QSA and matchesSelector\n- So, we’ve covered some performance stuff. Now the next question is, what did we fix?\n
  • To sum up\n- Based on all of the perf tests I’ve done so far, we have excellent codepaths to QSA and matchesSelector\n- So, we’ve covered some performance stuff. Now the next question is, what did we fix?\n
  • - event delegation\n- id, tag, class\n- jQuery(something).find(ID)\n
  • - actually that selector would work if the special characters were escaped and :checkers was a custom pseudo.\n- OK, but there were actually bugs\n
  • Every browser has bugs in querySelectorAll, even webkit.\n- If you know what I did in the last version of jQuery, you’ll know about my long standing relationship with attributes. IE8’s QSA doesn’t handle boolean attributes very well.\n
  • Every browser has bugs in querySelectorAll, even webkit.\n- If you know what I did in the last version of jQuery, you’ll know about my long standing relationship with attributes. IE8’s QSA doesn’t handle boolean attributes very well.\n
  • Every browser has bugs in querySelectorAll, even webkit.\n- If you know what I did in the last version of jQuery, you’ll know about my long standing relationship with attributes. IE8’s QSA doesn’t handle boolean attributes very well.\n
  • Every browser has bugs in querySelectorAll, even webkit.\n- If you know what I did in the last version of jQuery, you’ll know about my long standing relationship with attributes. IE8’s QSA doesn’t handle boolean attributes very well.\n
  • Every browser has bugs in querySelectorAll, even webkit.\n- If you know what I did in the last version of jQuery, you’ll know about my long standing relationship with attributes. IE8’s QSA doesn’t handle boolean attributes very well.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • The only acceptable division in the selectors spec is comma, which made this easy to fix.\nSo you might be wondering what’s next.\n
  • And I’m here to tell you, you are not prepared.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • Everything I’ve told you about Sizzle today might change before 1.8 is released. It’s true I rewrote Sizzle. I might just rewrite it again.\n
  • - maybe even with a pull request\n- the issues on the jQuery bugs site will be migrated\n- stale google group, needs more life\n\n
  • - maybe even with a pull request\n- the issues on the jQuery bugs site will be migrated\n- stale google group, needs more life\n\n
  • - maybe even with a pull request\n- the issues on the jQuery bugs site will be migrated\n- stale google group, needs more life\n\n
  • - maybe even with a pull request\n- the issues on the jQuery bugs site will be migrated\n- stale google group, needs more life\n\n
  • - maybe even with a pull request\n- the issues on the jQuery bugs site will be migrated\n- stale google group, needs more life\n\n
  • \n
  • \n

Sizzle jQCon San Francisco 2012 Sizzle jQCon San Francisco 2012 Presentation Transcript

  • 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 (id only, tag only, class only) improvedby about 5% overall
  • 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
  • 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
  • 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)
  • 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)
  • 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[^$*]=”” (Opera/IE9)
  • 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
  • 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!)
  • Combinators ( div ~ em + u > * )
  • Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lost
  • Combinators ( div ~ em + u > * ) When using multiple combinators in the same selector, some possible matches were being lostElement-rooted querySelectorAll with divisions
  • 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”);
  • 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)
  • 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
  • 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 into a function in order to avoid ever looping over elements more than once.
  • 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)
  • 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
  • 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
  • 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!
  • 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 discussion in thepublic Sizzle google group
  • 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
  • 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)
  • Contributing (ask me) timmywil in #jquery or #jquery-dev @timmywil on the tweeters and the githubs
  • Up nextjQuery UI updatesScott Gonzalez