Every framework runs in his own iFrame, thus no conflicts can happen. Tests are run selector by selector, with an interval to prevent the browser from freezing.
Tests are run in a neutral environment, no library or framework is included in the main javascript test, to avoid favoritism.
Note: this is a modified version of the SlickSpeed test page. Unsupported selector tests have been removed.
Note: Browser with buggy XPath pseudo-selector implementations (e.g. Safari 3) are prevented from using XPath for all tests. This results in a significant decrease in performance.
| selectors | Prototype 1.6 | MooTools 1.2 beta1 | JQuery 1.21 | Mine |
|---|---|---|---|---|
| * | ||||
| div div | ||||
| div > div | ||||
| div + div | ||||
| div ~ div | ||||
| body | ||||
| body div | ||||
| div | ||||
| div div div | ||||
| div, div, div | ||||
| div, a, span | ||||
| .dialog | ||||
| div.dialog | ||||
| div .dialog | ||||
| div.character, div.dialog | ||||
| #speech5 | ||||
| div#speech5 | ||||
| div #speech5 | ||||
| div.scene div.dialog | ||||
| div#scene1 div.dialog div | ||||
| #scene1 #speech1 | ||||
| div[class] | ||||
| div[class=dialog] | ||||
| div[class!=madeup] | ||||
| div[class~=dialog] | ||||
| div:last-child | ||||
| div:first-child | ||||
| final time (less is better) | 0 | 0 | 0 | 0 |
| the faster | the slower | exception thrown or zero elements found | different returned elements |
|---|---|---|---|