26.12.2011, 05:16
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
FINoM,
заметьте конечно, оскорбляю не я тут.
Вообще, по хорошему, это вы должны доказывать, что ваш подход быстрее, так как вы начали тему и вызвались написать бенчмарк. А все ваши контр аргументы, это - а если.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.12.2011, 05:20
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Nekromancer
|
Вообще, по хорошему, это вы должны доказывать, что ваш подход быстрее, так как вы начали тему и вызвались написать бенчмарк. А все ваши контр аргументы, это - а если.
|
Еще толще. Не вижу смысла продолжать диалог.
Сообщение от Nekromancer
|
заметьте конечно, оскорбляю не я тут.
|
Это не оскорбление. По крайней мере, в интернетах.
|
|
26.12.2011, 05:24
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Сообщение от FINoM
|
Еще толще. Не вижу смысла продолжать диалог.
|
Вы меня простите конечно, но как будто я вас здесь держал. Будьте при своём мнении, а я буду при своём. Только в следующих раз не кричите, "сверхбыстро", если не можете доказать.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.12.2011, 10:34
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
Сообщение от Nekromancer
|
Nekromancer
|
мне кажется в ваших тестах неправильный подход
childNodes вы получаете один раз перед циклом, а потом просто перебираете этот готовый набор и document.querySelector('#main') также делаете один раз
а querySelectorAll в этих тестах лезет в dom каждый раз в цикле,
попробуйте вставить childNodes = div.childNodes и document.querySelector('#main') в цикл, увидите разницу
|
|
26.12.2011, 10:57
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
http://jsfiddle.net/RDV7g/15/
childNodes: 176ms
selector: 211ms
Что поменялось?
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.12.2011, 11:17
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
в Opere 11.6
Started: childNodes
childNodes: 601ms (600928µsec)
Started: selector
selector: 24ms (23940µsec)
|
|
26.12.2011, 11:26
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
В IE9
Журнал: childNodes 528
Журнал: selector 162
(изменил счетчик http://jsfiddle.net/RDV7g/22/ )
Последний раз редактировалось Pavel M., 26.12.2011 в 11:29.
|
|
26.12.2011, 11:33
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
в IE8
Журнал: childNodes 1057
Журнал: selector 228
|
|
26.12.2011, 11:36
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Pavel M.,
Вас явно тянет на кривые браузеры Да, я согласен, здесь querySelector выигрывает.
Даже в Сафари под вин7, селектор работает чуть чуть быстрее чем выборка по дереву.\
П.С. Хорошо, когда человек может нормально поспорить, а не аппретировать - а если
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
26.12.2011, 11:50
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
тесты посмотрел просто из интереса, в образовательных целях
я не сторонник childNodes и перебора DOM
querySelectorAll нравится больше - удобнее, но все равно
в своей работе буду применять библиотеки типа jquery, extjs - надежно и работает в IE7, что для меня еще актуально, а скорость запросов думаю не очень сильно отстает от прямого перебора DOM дерева
|
|
|
|