1
10 października 2020
0

PHP 8 i jego JIT

PHP to jeden z najpopularniejszych języków skryptowych wykonywanych po stronie serwera. Język ten przeszedł niesamowitą ewolucję i wprowadza wiele istotnych zmian, a także wiele nowych funkcji i ulepszeń wydajności nieporównywalnych ze stanem jeszcze sprzed kilku lat. Rewolucją w rozwoju PHP będzie długo wyczekiwana od dawna premiera wersji 8.

Premiera oraz wersje PHP 8

Zaplanowane jest wydanie aż sześciu wersji release candidate. Pierwsza z nich ukaże się w drugiej połowie września, zaś premiera ostatniego RC zaplanowana jest na 19 listopada. W ten sposób stabilna wersja PHP 8 trafi do nas najprawdopodobniej 3 grudnia. Choć oczywiście tak dokładnie wskazany termin należy aktualnie traktować z pewnym dystansem, niemniej możemy liczyć na to, że nowe PHP będzie dostępne w pierwszym tygodniu grudnia 2020 r.

Co nowego w PHP wersji 8?

Nowości w wersji 8 będzie sporo, ale najważniejsza będzie obsługa modelu JIT, czyli Just-In-Time. Nowy model wykonywania skryptów PHP będzie odbywał się blok po bloku, w zależności np. od warunków. Jeśli jakiś blok nie będzie spełniał określonych w danym scenariuszu wymagań, to nie będzie on parsowany, oszczędzając czas i zasoby. Dzięki temu PHP 8 ma stanowić nowe otwarcie, jeśli chodzi o wydajność kodu, co odczują zarówno sami programiści PHP, jak i końcowi użytkownicy. Co ważne, będzie to innowacja działająca wstecz i po premierze PHP 8 znacznie przyśpieszą także skrypty napisane przed laty. JIT w PHP ma się także przełożyć na zwiększenie tempa prac nad kolejnymi nowościami w następnych wersjach PHP.

Jak działa kompilator JIT?

JIT – ma zastosowanie między innymi w spedycji i planowaniu produkcji, ale najważniejsze zastosowanie ma w oprogramowaniu. Nie mamy wówczas do czynienia z kompilowaniem całego kodu za jednym razem przed jego wykonaniem, lecz z kompilacją blok po bloku (ale nie muszą być to wszystkie bloki) w czasie, gdy poprzednie skompilowane bloki są już wykonywane. Kompilator JIT w praktyce oznacza wykorzystanie maszyny wirtualnej do kodu bajtowego i dopiero ona dokonuje dalszej kompilacji na kod maszynowy. Najważniejsza z licznych korzyści w stosunku do standardowej kompilacji to brak konieczności kompilowania i wykonywania nieużywanych bloków kodu. Kompilacja jakiegoś bloku kodu zgodnie z założeniami JIT może być spowodowana na przykład przy wywołaniu konkretnej funkcji. Jeśli jednak ta nie zostanie wywołana przez niespełnienie warunków – oszczędzamy czas i cenne zasoby.

JIT w PHP 8

Kompilator JIT ma zapewnić znaczną poprawę wydajności stron internetowych, choć nie zawsze w kontekście żądań internetowych. W przypadku wdrożenia JIT rozszerzenia będzie można pisać po prostu w PHP, bez znacznego spadku wydajności w stosunku do rozwiązań opartych na C. Wygląda jednak na to, że w testach porównawczych dla rzeczywistych aplikacji internetowych JIT nie robi tak dużej różnicy. Musimy zatem uzbroić się w cierpliwość i zobaczyć jak to będzie wyglądało w praktyce.

Podsumowanie

Rozwój języka może nie jest najszybszy, ale cały czas idzie w dobrym kierunku mimo że wciąż brakuje mu sporo elementów takich jak np. klasy generyczne. Jeśli faktycznie w PHP 8.0 zostanie wprowadzony JIT, co będzie miało wpływ na wzrost wydajności i możliwości zastosowania języka też w innych miejscach niż web to powinno to zażegnać od dawna drążone tematy bliskiego końca języka PHP.

Autor tekstu: Krzysztof Krawczuk
Marketing Executive

Podziel się tym wpisem

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Polecane Artykuły

Nadchodzi rewolucja w internecie,…

Sprawdź jak zwiększysz skuteczność…

HTTP/2 przyspiesz w XXI…

  • Kategorie


  • Kategorie