Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Селектор первого потомка (https://javascript.ru/forum/misc/24296-selektor-pervogo-potomka.html)

Nekromancer 26.12.2011 05:16

FINoM,
заметьте конечно, оскорбляю не я тут.
Вообще, по хорошему, это вы должны доказывать, что ваш подход быстрее, так как вы начали тему и вызвались написать бенчмарк. А все ваши контр аргументы, это - а если.

FINoM 26.12.2011 05:20

Цитата:

Сообщение от Nekromancer
Вообще, по хорошему, это вы должны доказывать, что ваш подход быстрее, так как вы начали тему и вызвались написать бенчмарк. А все ваши контр аргументы, это - а если.

Еще толще. Не вижу смысла продолжать диалог.
Цитата:

Сообщение от Nekromancer
заметьте конечно, оскорбляю не я тут.

Это не оскорбление. По крайней мере, в интернетах.

Nekromancer 26.12.2011 05:24

Цитата:

Сообщение от FINoM
Еще толще. Не вижу смысла продолжать диалог.

Вы меня простите конечно, но как будто я вас здесь держал. Будьте при своём мнении, а я буду при своём. Только в следующих раз не кричите, "сверхбыстро", если не можете доказать.

Pavel M. 26.12.2011 10:34

Цитата:

Сообщение от Nekromancer
Nekromancer

мне кажется в ваших тестах неправильный подход
childNodes вы получаете один раз перед циклом, а потом просто перебираете этот готовый набор и document.querySelector('#main') также делаете один раз

а querySelectorAll в этих тестах лезет в dom каждый раз в цикле,

попробуйте вставить childNodes = div.childNodes и document.querySelector('#main') в цикл, увидите разницу

Nekromancer 26.12.2011 10:57

http://jsfiddle.net/RDV7g/15/
childNodes: 176ms
selector: 211ms
Что поменялось?

Pavel M. 26.12.2011 11:17

в Opere 11.6
Started: childNodes
childNodes: 601ms (600928µsec)
Started: selector
selector: 24ms (23940µsec)

Pavel M. 26.12.2011 11:26

В IE9
Журнал: childNodes 528
Журнал: selector 162
(изменил счетчик http://jsfiddle.net/RDV7g/22/ )

Pavel M. 26.12.2011 11:33

в IE8
Журнал: childNodes 1057
Журнал: selector 228

Nekromancer 26.12.2011 11:36

Pavel M.,
Вас явно тянет на кривые браузеры :) Да, я согласен, здесь querySelector выигрывает.
Даже в Сафари под вин7, селектор работает чуть чуть быстрее чем выборка по дереву.\

П.С. Хорошо, когда человек может нормально поспорить, а не аппретировать - а если :)

Pavel M. 26.12.2011 11:50

тесты посмотрел просто из интереса, в образовательных целях

я не сторонник childNodes и перебора DOM

querySelectorAll нравится больше - удобнее, но все равно
в своей работе буду применять библиотеки типа jquery, extjs - надежно и работает в IE7, что для меня еще актуально, а скорость запросов думаю не очень сильно отстает от прямого перебора DOM дерева


Часовой пояс GMT +3, время: 08:33.