Сообщение от Riim
|
вместо четырех считываний свойств (4X) теперь одно считывание и одна перезапись (2X), т. е. производительность улучшилась примерно в два раза
|
Только Вы забыли что если кешировать простое число или строку то запись в кешированную переменную бессмысленна.
На счет движков селекторов.
В документе 1360 элементов, включая такой HTML
<span id='id1' class='SPAN'>
<i></i>
<span id='id3'>
<i>
<span>
<div>
<b>
<a class='SPAN1 ppp'>1</a>
</b>
<a id='id4'>2</a>
</div>
</span>
</i>
<span id='id2'>
<div>
<b>
<a id='id3'>3</a>
</b>
<a id='id5'>4</a>
</div>
</span>
</span>
</span>
Принудительно во всех движках отключен кеш и возможность querySelectorAll
На запрос (должен выдавать 2 элемента SPAN#id3,A#id3)
#id1 #id3
Такие результаты:
jQ: 0.1576мс, результат: SPAN#id3 (неверно)
Peppy: 0.1869мс, результат: SPAN#id3 (неверно)
DOMAssistant: 1.86мс, результат: SPAN#id3, A#id3 (
верно)
CarbonJS: 0.075мс, результат: SPAN#id3 (неверно)
На запрос (должен выдать 2 элемента A#id4,A#id5)
* SPAN I + SPAN DIV B + *
Такие результаты:
jQ: 6.83мс, результат: A#id5 (неверно)
Peppy: 70мс, результат: A#id4,A#id5 (
верно)
DOMAssistant: 10.571мс, результат: A#id4,A#id5 (
верно)
CarbonJS: 12.84мс, результат: A#id4,A#id5 (
верно)
Так что есть над чем подумать, а ктото кричит (по инету слухи) Peppy самая быстрая. Да она самая медленная без кеша и нативных методов.