I'm interested in understanding all the selector engine code. In order to watch the development from the most basic to the quickest, I wanted to gather all the data points. Take a look, as you can see, Jack Slocum was definitely right when he said "selector processing power has gone from Pinto power to a Mustang GT 500."
- 2003.03.25: document.getElementsBySelector() by Simon Willison (later used in behaviour.js) [source]
- 2004.04.10: CssQuery() 1.0: by Dean Edwards [source]
- 2005.08.19: CssQuery() 2.0. [source]
- 2005.08.22: jSelect (precursor to jQuery) [source]
- 2006.01.14: jQuery first release. [source]
- 2006.01.18: Prototype. Initial release of selector engine. [source]
- 2006.04.04: moo.dom (precursor to mootools) [source]
- 2006.08.26: jQuery 1.0 [source]
- 2006.11.14: Mochikit Selector. (orig. ported from prototype) [source]
- 2007.01.08: jQuery 1.1a ("10-20x faster than 1.0") [source]
- 2007.01.11: DomQuery by Jack Slocum (ExtJS). [source]
- 2007.02.05: dojo.query(). [source]
- 2007.03.21: base2.DOM. [source]
- 2007.05.01: Prototype 1.5.1 [source]
- 2007.05.07: Mootools 1.1 [source]
- 2007.07.01: jQuery 1.1.3 ("800% faster") [source]
- 2007.07.10: Ext 1.1 RC1 [source]
- 2007.07.10: Dojo 0.9 [source]
- 2007.12.04: YUI 2.4.0 [source]
- 2007.12.17: NWMatcher by Diego Perini [source]
Update: Added Base2, CssQuery1.0. Corrected jQuery launch date.
Update: Added Dojo 0.9, NWMatcher.
(Drag to navigate timeline)
Leave a comment if I left anything out.
18 comments ↓
Quick clarification: jQuery was first released on Jan. 14th 2006 at BarCamp NYC. But other than that, looks great.
Thanks for this list. I'm quite interested in this too.
I think, now that you’ve published this here, you can copy it to Wikipedia, crediting this entry as your original source.
Could be wrong, I’ve never done this myself.
What part of this falls under the "no original research" policy? This timeline is fact, and you've cited each entry. Besides, who actually follows Wikipedia's policies?
[...] Irish put together a bit of history in the form of the Javascript CSS selector engine timeline which shows us that “selector processing power has gone from Pinto power to a Mustang GT [...]
@John: Yeah I knew it was "released" then, just couldn't find any online reference at the time. I've updated the post, thanks.
@Paul & Matt: You guys are right. Once I thought about it, it's not my original thought or ideas. Hmm.. now where to put it.
cssQuery 2.0 was released in 2005. cssQuery 1.0 was released in April 2004:
http://dean.edwards.name/my/cssQuery/1_0/
Nice to see that you added base2. :-)
@Dean: Roger that—updated. Thanks for dropping the note.
[...] hooked in the data to the simile Timeline widget, because I can’t say no to a rich [...]
Dojo's selector engine has continued to evolve beyond the original you note here. The 0.9 and 1.0 releases of Dojo both included major additions and refinements to our engine (as will 1.1).
Regards
I think you should label your Y axis.
@Alex, Thanks. I'll dig up the URLs and throw those releases in.
@Brad, I'm using the Simile Timeline script, which really doesn't do anything in particular with the Y axis. So here, the vertical positioning really doesn't mean anything.
[...] Javascript CSS Selector Engine Timeline [...]
Paul,
nice work collecting all these informations for future research.
Here uou can find my take to cross-browser CSS3 Selector compliance:
http://javascript.nwbox.com/NWMatcher/
It is not as known as the other listed here, however you will be surprised by the speed and the features. It does not use Xpath.
Would be nice to let me in the list.
Very impressive benchmarks, Diego! I'm surprised this hasn't had more attention.
It's added.
Thank you Paul, appreciate you included it.
Can you correct the link to [source] ?
I don't see the Timeline image anymore.
Regards
All fixed. Thanks Diego.
You have missed out DOMAssistant.
2.5 - December 17th, 2007
http://www.robertnyman.com/2007/12/17/domassistant-25-released-css-selector-support-new-ajax-methods-and-more-goodies-added/
2.6 - February 20th, 2008
http://www.domassistant.com/blog/2008/02/20/releasing-domassistant-26-overall-fastest-css-selectors-plugins-and-more/
2.7 - April 9th, 2008
http://www.domassistant.com/blog/2008/04/09/domassistant-27-released-better-performance-more-features-smaller-file-size/