Every framework runs in its 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.
The WebKit version of this test includes a number of modifications. Specifically
selectors | prototype 1.6.0.2 | jQuery 1.2.3 | ext 2.0 | Native |
---|---|---|---|---|
* | ||||
div:only-child | ||||
div:first-child | ||||
div:nth-child(even) | ||||
div:nth-child(2n) | ||||
div:nth-child(odd) | ||||
div:nth-child(2n+1) | ||||
div:nth-child(n) | ||||
div:last-child | ||||
div > div | ||||
div + div | ||||
div ~ div | ||||
body | ||||
body div | ||||
div | ||||
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^=dia] | ||||
div[class$=log] | ||||
div[class*=sce] | ||||
div[class|=dialog] | ||||
div[class~=dialog] | ||||
final time (less is better) | 0 | 0 | 0 | 0 |
the faster | the slower | exception thrown or zero elements found | different returned elements |
---|---|---|---|