Оптимизация setInterval

200
24 января 2019, 23:10

На странице есть несколько, в будущем может и будут добавляться, функции ака слушателей, которые выполняются через setInterval.

И вот стало интересно, станет ли выше производительность, если всё объединить в один интервал, который будет к примеру проходиться по массиву с функциями и выполнять их все. Вместо того, чтоб каждый раз создавать новый интервал...

Answer 1

Предлагаю свою версию происходящего.

Что в вашем понимании производительность?

Вот вы прораб и у вас есть один рабочий Вася. Вася очень любит курить. как часто он будет ходить курить, если вы ему будете подкидывать мелкие поручения??

А если вы попросите сделать его все накопившиеся за один раз?

Аналогия со вкладкой браузера, которой иногда надо отвлекаться от длительных задач, чтобы обрабатывать действия пользователя.

Upd

Если серьёзно, то для того чтобы не прерывать взаимодействие пользователя со страницей, длительные задачи лучше выполнять через webworker.

В случае с setInterval, чем дольше выполняется его обработчик, тем дольше вкладка будет не отвечать на запросы пользователя.

Answer 2

Логика подсказывает, что если вместо нескольких задач вы создадите одну, то нагрузка на память и на процессор снизится. Однако, на практике вы эффект скорее всего не заметите, если конечно у вас не 1000 таймеров.

READ ALSO
Вывод NaN при подсчете (jQuery)

Вывод NaN при подсчете (jQuery)

Проблема - при выводе на одной странице 2-х однотипный блоков подсчет не ведется корректно, при выводе только одного блока всё нормально

189
Скролл навигация для slick slider

Скролл навигация для slick slider

Есть такой slick слайдер с фильтром и кастомным mCustomScrollbar скроллом

220
Как расширить класс Convert Своими функциями?

Как расширить класс Convert Своими функциями?

Собственно допустим у меня есть некоторые классы

303
что означает => при создании объекта? [дубликат]

что означает => при создании объекта? [дубликат]

На данный вопрос уже ответили:

193