Каждая библиотека запускается в собственном iFrame во избежание конфликтов. Тесты проходятся селектор за селектором с интервалом, чтобы не вызвать зависание браузера.
Испытания проводятся в нейтральной среде. В базовый пакет SlickSpeed не входят никакие фреймворки.
Используя Firefox, отключите Firebug для более точного проведения тестов, т.к. некоторые фреймворки могут выполняться с ошибками, замедляя процесс поиска элементов.
Тесты проходят на локальной копии этого документа.
| Селекторы | Carbon.JS 2.2.0 | Dojo 1.4.2 | DOMAssistant 2.8 | jQuery 1.4.2 | Mootools 1.2.4 | Peppy 0.1.2 | Prototype 1.6.1 | Sample |
|---|---|---|---|---|---|---|---|---|
| body | ||||||||
| div | ||||||||
| body div | ||||||||
| div p | ||||||||
| div > p | ||||||||
| div + p | ||||||||
| div ~ p | ||||||||
| div[class^=exa][class$=mple] | ||||||||
| div p a | ||||||||
| .note | ||||||||
| div.example | ||||||||
| ul .tocline2 | ||||||||
| div.note | ||||||||
| #title | ||||||||
| h1#title | ||||||||
| div #title | ||||||||
| ul.toc li.tocline2 | ||||||||
| ul.toc > li.tocline2 | ||||||||
| h1#title + div > p | ||||||||
| h1[id]:contains(Selectors) | ||||||||
| a[href][lang][class] | ||||||||
| div[class] | ||||||||
| div[class=example] | ||||||||
| div[class^=exa] | ||||||||
| div[class$=mple] | ||||||||
| div[class*=e] | ||||||||
| div[class|=dialog] | ||||||||
| div[class!=made_up] | ||||||||
| div[class~=example] | ||||||||
| div:not(.example) | ||||||||
| p:contains(selectors) | ||||||||
| p:nth-child(even) | ||||||||
| p:nth-child(2n) | ||||||||
| p:nth-child(odd) | ||||||||
| p:nth-child(2n+1) | ||||||||
| p:nth-child(n) | ||||||||
| p:only-child | ||||||||
| p:last-child | ||||||||
| p:first-child | ||||||||
| * > :nth-child(2n+1) | ||||||||
| ul > li * | ||||||||
| p:nth-child(1) | ||||||||
| финальное время (чем меньше, тем лучше) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| быстрее | медленнее | ошибка или не найдены элементы | разное кол-во элементов |
|---|---|---|---|