JsPerf – co jest szybsze?

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 ;)

Share Button

One thought on “JsPerf – co jest szybsze?

Leave a Reply

Your email address will not be published. Required fields are marked *