Regarding the benchmarks, I've seen one floating around but can't find the link, but the bottom line was this: Sizzle was the fastest.
Wiadomość napisana przez Savageman w dniu 2010-08-16, o godz. 19:19:
- Sizzle edge 9AAF3C9A
- Safari 4: 1349 examples 76 failures 38 errors
- IE 6: 1119 examples 12 failures 10 errors
- Sizzle jQuery 1.4
- Safari 4: 1277 examples 74 failures 38 errors
- Sizzle jQuery 1.3
- Safari 4: 1277 examples 438 failures 42 errors
- MooTools Slick edge
- Safari 4: 1690 examples 5 failures 0 errors
- IE 6: 1165 examples 13 failures 0 errors
- MooTools 1.2.4
- Safari 4: 1213 examples 284 failures 191 errors
- NWMatcher 20091231
- Safari 4: 1138 examples 218 failures 248 errors
- YUI 2.x
- Safari 4: 1258 examples 471 failures 8 errors
IE8 implements QSA, but its QSA doesn’t support lots of the selectors that are pretty standard for all JS-based selector engines.
Some things in Slick are actually faster than in QSA alone. e.g. className selectors in Slick use getElementsByClassName internally which is much faster than QSA.
QSA is very strict, it will throw an error if there’s the slightest error with your selector or you use something it doesn’t support.
Slick supports all kinds of awesome extensions. You can create your own custom pseudoClasses and atrribute selectors. MooTools-Core uses that extensibility a lot.
QSA in browsers actually contains a few bugs that Slick fixes.
— Tom Aylott – SubtleGradient – MooTools —