Множественный селектор против производительности одного селектора - программирование
Подтвердить что ты не робот

Множественный селектор против производительности одного селектора

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

в основном, когда вы запускаете этот код:

$("#one, #two").hide();
$("#one, #two").show();

Против этого кода:

$("#one").hide();
$("#two").hide();
$("#one").show();
$("#two").show();

Тогда последний будет быстрее примерно на 50%.

Однако, как только мы добавим третий селектор, разница в производительности будет на 39% быстрее.

Четвертая разница в селекторе: на 26% быстрее.

Пятое: на 30% быстрее.

Шестой: на 31% быстрее.

Десять: на 31% быстрее.

(Помните, что эти значения, по-видимому, находятся в пределах 5%)

Итак, мы получаем что-то похожее на это:

enter image description here

Производительность кажется плато вокруг 6 селекторов. Кажется, что никогда не получается "быстрее", чем на 31% медленнее, чем каждый из них за один раз. Почему это?

Лично мне нравится использовать несколько селекторов за звонок, но, похоже, он имеет (относительно) большой успех. Когда это (не) было бы целесообразным использовать?

4b9b3361

Ответ 1

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

Однако в 1-м случае необходимо сделать 2 дополнительных вещи

Я предполагаю, что вторая операция занимает больше времени.