Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.09.2011, 12:02
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

на вот тести
Ответить с цитированием
  #12 (permalink)  
Старый 01.09.2011, 12:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

я тестил в опере, в других не знаю... может и медленнее... Так что от других браузеров я отмахиваюсь
Ответить с цитированием
  #13 (permalink)  
Старый 01.09.2011, 12:12
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ок, потестил... Результат оказался ужастным

Opera:
getElementById - 1 030 276 выполнений/1000 мс
querySelectorAll - 1 096 516 выполнений/1000 мс

Chrome:
getElementById - 2 203 944 выполнений/1000 мс
querySelectorAll - 129 707 выполнений/1000 мс

FireFox:
getElementById - 993 481 выполнений/1000 мс
querySelectorAll - 150 381 выполнений/1000 мс

IE 8:
getElementById - 119 640 выполнений/1000 мс
querySelectorAll - 63 778 выполнений/1000 мс


Да беру свои слова обратно, не пробовал тестить на других... в Опере быстрее так как сижу на ней там и тестил... А оказалось в среднем ужас.
Ответить с цитированием
  #14 (permalink)  
Старый 01.09.2011, 12:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Вообщем вывод простой, кто на чем сидит тот о том и знает... Я на Опере, и понятно дело утверждаю что быстрее... Человек на Хроме, и понятно дело что у него быстрее... Но все же любопытно, чтож там в опере такого сделали что работает быстрее getElementById, жаль что они никогда не откроют исходники своего движка
Ответить с цитированием
  #15 (permalink)  
Старый 01.09.2011, 12:24
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

А осел как всегда "реактивен" , жаль что мне ща софт именно под него писать приходится...
Да смотрю в опере querySelectorAll оставляет другие браузеры далеко позади, эх поделились бы исходничками хотя может она просто кеширование какоенить врубает...
Ответить с цитированием
  #16 (permalink)  
Старый 02.09.2011, 04:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от kadabrik
хотя может она просто кеширование какоенить врубает...
Не знаю как насчет кеширования, но я попробовал такой вариант:
function test(){
  for(var q in ['a','b','c','d','e','f','g','h','i','j'] )
    document.getElementById(q);
}
test();
и
function test(){
  for(var q in ['a','b','c','d','e','f','g','h','i','j'] )
    document.querySelectorAll('[id="'+q+'"]');
}
test();
и вот результаты:
Opera:
getElementById - 189 692 выполнений/1000 мс
querySelectorAll - 120 429 выполнений/1000 мс

Chrome:
getElementById - 420 454 выполнений/1000 мс
querySelectorAll - 12 735 выполнений/1000 мс

в других не пробовал так как нет смысла... Итог в опере результаты почти идентичны, скорость падает в основном из-за склеивания строки. Но в целом она работает и с тем и с тем методом с одинаковой скоростью.
Ответить с цитированием
  #17 (permalink)  
Старый 02.09.2011, 11:23
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Всетаки в голову не лезет как простой getElementById работает медленнее чем сложный querySelectorAll, хотя судя по небольшой разницы в скоростях может в оперовском методе getElementById('foo') просто и вызывается querySelectorAll('[id="foo"]')
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку... AJAX проверка существования e-mail в БД Murmurianez AJAX и COMET 1 03.08.2011 18:49
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37
Помогите найти ошибку. boneg Элементы интерфейса 1 21.09.2010 22:20
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Помогите найти ошибку в скрипте sdff AJAX и COMET 4 21.07.2008 19:33