PHP vs Node.js – krótki test

Dzisiaj na warsztat weżniemy sobie porównanie technologii PHP vs Nodej.js i dowiemy się, który z nich działa szybciej oraz dojdziemy do ciekawych wniosków. Serdecznie zapraszam

Przygotowanie

Do dzisiejszego porównania wykorzystamy PHP w wersji 8.2 oraz NodeJS w wersji 18.14.0 LTS. Użyjemy również Docker, aby ułatwić sobie konfigurowanie środowisk. Oczywiście wszystko starałem się trzymać w najbardziej defaultowej wersji jak tylko mogłem, więc nie uświadczymy tutaj żadnych dodatkowych konfiguracji, które mogłyby „podboostować” którąkolwiek technologię.

Dzięki lekcji, którą wyciągnąłem podczas tworzenia poprzedniego porównania, dowiedziałem się, że testy muszą być jeszcze prostsze i bardziej uniwersalne i oto doszedłem do wniosku, że najlepiej będzie zainicjować następujące sprawdziany:

  1. Obliczenie 20! czyli silnię z 20. Oczywiście rekurencją, aby było dodatkowe obciążenie.
  2. Znaleźć największą liczbę z przedziału 1-100000 – generowanie tablicy oczywiście poza mierzeniem czasu.
  3. Wygenerowanie losowego ciągu znaku o długości 100000 znaków i przekształcenie wszystkich liter na wielkie litery.

Zadania może nie są aż nadto trudne, ale są wystarczające, aby ukazać konkretne czasy wykonania. Ważne też jest przy każdym teście, aby wyniki były po prostu przyzwoite – to nam powie czy daną technologię w ogóle brać za poważny wybór.

Tworzenie kodu

Na szczęście nie musiałem spędzić wielu godzin nad tym wszystkim, a i samo wyszukanie potrzebnych informacji dla obu narzędzi było bardzo przyjemne i bardzo proste. Powiem, że na tym polu mamy ładny remis. Co ciekawe, najwięcej problemów miałem z Dockerem. To nie tak, że to było uwłaczające i mega trudne, po prostu zapomniałem jak go się nastawia 😅. Także mogę powiedzieć, że taki minimalny problem był z Dockerem, no ale to nie o nim miałem pisać 😉

Wyniki

Muszę uprzedzić, że wyniki są nawet ciekawe. Żadna z technologii nie jest słaba i stanowią nadal dla siebie konkurencję. Jak dla mnie oba narzędzia dały sobie świetne radę. Liczby mówią same za siebie:

TestPHPNode.js
Silnia 20!0.000011921 s0.000029604 s
Największa liczba0.001819134 s0.002862400 s
Generowanie ciąg znaków0.001703978 s0.002624891 s
Średnia czasów:0,001178344 s0,001838965 s
wyniki PHP vs Node.js

Podsumowanie

Wyniki są bliskie siebie i wydawać się może że PHP jest 2x razy szybszy od Node.js, ale czy tak jest przy większych projektach? Nie wiem, bo te testy tego nie ukazują. To co wiem, to oba narzędzia są jednak wydajne i tylko różnice technologiczne powinny decydować o tym, które narzędzie wybierzemy 🙂

Wszystkie testy oraz konfiguracja Docker dostępne są na GitHub

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
Włączyć powiadomienia? Bardzo pragnę Dam sobie radę