Nigdy nie byłem zbytnim świrem jeśli chodzi o wyciskanie ostatnich herców z procesora, jendak jsPerf jest bardzo fajnym narzędziem do benchmarkowania kodu Javascript i muszę przyznać, że sprawdzanie co jest szybsze (i dlaczego) czasem potrafi wciągnąć.
Zacząłem od retorycznego pytania, czy szybsze będzie jQuery, czy może querySelectorAll – natywna metoda zaimplementowana niedawno w nowoczesnych przeglądarkach?
W sumie to pytania nie jest tak naiwne jak mogłoby się wydawać. Byłem ciekaw, czy najnowsza wersja jQuery korzysta już z najnowszych bajerów? Okazało się, że jQuery jest dwukrotnie wolniejsze.
Potem postanowiłem napisać prosty kod, który potrafiłby użyć natywnej metody jeśli będzie dostępna, lub jQuery w innym przypadku. To rozwiązanie okazał się równie szybkie (w przypadku, gdy querySelectorAll jest dostępne).
Na końcu pomyślałem, że jednak opakowanie zestawu elementów w obiecie jQuery daje nam dodatkowe bajery i sprawdziłem, czy użycie querySelectorAll, a następnie wpakowanie tego do jQuery ma sens. Niestety nie ma ;).
Wniosek z tego taki, że dopukidopóki nie potrzebujesz bajerów jQuery – lepiej używać documentSelectorAll o ile jest dostępne…
Razem z jsFiddle można mając kilka minut spróbować pomysłów, które krążą nam go głowie. Zachęcam Was do tego samego – swoimi testami i przemyśleniami możecie się podzielić w komentarzach ;)

