Как бы мы измерили, эффективнее ли вызывать e.stopPropagation() или нет?

#javascript #html #event-bubbling

#javascript #HTML #событие-пузырение

Вопрос:

Я хочу измерить, выгоднее ли вызывать e.stopPropagation() в те моменты, когда мне больше не нужно распространять событие (например, почти в 100% случаев), или это приведет к ненужным накладным расходам, которые сводят на нет любую выгоду от остановки распространения до такой степени, что на самом деле выгоднее ВООБЩЕ НЕ вызывать e.stopPropagation() ?

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

Ответ №1:

Если вы не перехватываете / обрабатываете это событие на более высоком уровне, это не имеет значения, останавливаете вы распространение или нет.

Комментарии:

1. Привет, спасибо за помощь. Кстати, я знаю, что не имеет значения, останавливаю я распространение или нет, однако, если у меня очень длинная «цепочка» dom, будет ли полезно вызвать e.stopPropogation, чтобы «уменьшить нагрузку на браузер»?

2. Если у вас есть такая «длинная» цепочка dom, вы почувствуете улучшения производительности при рендеринге в браузере, и они будут намного больше, чем что-либо еще.

3. Я знаю, я имею в виду это как теоретический вопрос. будут ли браузеры уже оптимизировать его, или было бы хорошей практикой выполнять stopPropogation каждый раз, когда мне не нужно его распространять (что составляет 99,9% времени)

Ответ №2:

Существует инструментальный вызов dynatrace Ajax Edition, который предоставляет вам довольно богатый инструментарий для измерения производительности. Вы можете проверить это по адресу: http://ajax.dynatrace.com/ajax/en / Включены показатели загрузки, показатели на основе событий, представление производительности событий на временной шкале и многое другое. Работает с IE и FF.