Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 05.04.2018, 16:54
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Nexus,
Что касается тормозов нейтива, не поленился, протестил, резуьтат меня самого поразил, разница у меня в хроме X10 примерно. Я ожидал тормозов, но чтобы так.

<html>
<head>
<meta charset = "utf-8" />
<style>
</style>
</head>

<body>

<div id = "foo">click me foo</div>
<div id = "bar">click me bar</div>
<button id = "check">check</button>

<script>

foo.storage = []
foo.onclick = function(){var self = this; foo.storage.forEach(function(f){f.call(self)})}

var startTimeForCustom
var startTimeForNative 
var endTimeForCustom
var endTimeForNative

foo.storage.push(function(){startTimeForCustom = new Date()})
i = 10000
while(i--) foo.storage.push(function(){return 1 + 1})
foo.storage.push(function(){endTimeForCustom = new Date(); console.log("end custom")})


bar.addEventListener("click", function(){startTimeForNative = new Date()})
i = 10000
while(i--) bar.addEventListener("click", function(){return 1 + 1})
bar.addEventListener("click", function(){endTimeForNative = new Date(); console.log("end native")})

check.onclick = function(){
   console.log("custom: " + (endTimeForCustom - startTimeForCustom))
   console.log("native: " + (endTimeForNative - startTimeForNative))
}








</script>

</body>
</html>


И это при том, что перебор идет через нативный форич, то есть можно еще оптимизировать циклом.

Последний раз редактировалось sortarray, 05.04.2018 в 16:58.
Ответить с цитированием
  #22 (permalink)  
Старый 05.04.2018, 16:56
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Сообщение от Nexus
Если вы докажете свою точку зрения
Просто мне не интересно спорить о том, что для меня очевидно.
Единственное в чем было сомнение, это скорость
Ответить с цитированием
  #23 (permalink)  
Старый 05.04.2018, 17:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,797

sortarray, и что вы замеряли в 21-м посту?
Скорость добавления в очередь?
Вам не кажется, что нужно замерять скорость её исполнения?

Смотрите 20-й пост.
Ваш метод стабильно на 200ms уступает.
Ответить с цитированием
  #24 (permalink)  
Старый 05.04.2018, 17:05
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Сообщение от Nexus
Скорость добавления в очередь?
не, исполнения
Ответить с цитированием
  #25 (permalink)  
Старый 05.04.2018, 17:11
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,797

sortarray, согласен, на более тривиальных задачах ваш метод быстрее.
Ответить с цитированием
  #26 (permalink)  
Старый 05.04.2018, 17:11
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Сообщение от Nexus
Скорость добавления в очередь?
а скорость добавления вообще феерично

custom: 38.375244140625ms
native: 3365.93896484375ms
Ответить с цитированием
  #27 (permalink)  
Старый 05.04.2018, 17:18
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Сообщение от Nexus
на более тривиальных
на любых
Ответить с цитированием
  #28 (permalink)  
Старый 05.04.2018, 17:22
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,797

sortarray,
Сообщение от sortarray
на любых
Боюсь нет.
Ответить с цитированием
  #29 (permalink)  
Старый 05.04.2018, 17:24
Кандидат Javascript-наук
Отправить личное сообщение для sortarray Посмотреть профиль Найти все сообщения от sortarray
 
Регистрация: 19.09.2015
Сообщений: 117

Сообщение от Nexus
Боюсь
Не могу вас избавить от фобий, не специалист.
Ответить с цитированием
  #30 (permalink)  
Старый 05.04.2018, 17:35
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

querySelectorAll; в ~20 раз медленнее getElementsByClassName или getElementsByTagName, но вряд ли это-кто-то заметит если из не >100 000
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OnClick не всегда работает denisko96 Events/DOM/Window 2 30.12.2013 20:02
Ajax при заходе на страницу из поисковика - не работает Алексей_ГР Ваши сайты и скрипты 2 03.09.2013 00:03
Код работает не так как задумал. Обработчик onclick prowoke Общие вопросы Javascript 2 20.07.2011 23:31
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41