Od danas na našim poslužiteljima postoji najnovija verzija PHP 7.3. To donosi mnoge promjene, nove značajke i poboljšanja – jedan od posljednjih je povećanje brzine obrade skripti u odnosu na prethodne verzije. Sve vijesti vezane uz PHP 7.3 mogu se naći u “Što je novo u PHP-u 7.3?” I u međuvremenu idemo na testove
Kako bismo usporedili najnovije verzije PHP-a, stvorili smo nalog u premium-ssd-www paketu (preporučeno, između ostalog, za internetske trgovine) na redovnom poslužitelju na kojem se kreiraju nalozi kupaca – trenutno je to s21 stroj – to je vrlo važna informacija zbog činjenice da je većina testova s kojima smo se susreli do sada provedeni u “laboratorijskim” uvjetima, tj. na mjestima kreiranim posebno za testiranje PHP-a. Mi smo, zauzvrat, analizirali rad skripti sa gledišta normalnog korisnika kako bi rezultati bili pouzdaniji. Svaku testiranu skriptu testirali smo deset puta, a zatim smo izvadili prosjek rezultata.
PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | |
bench.php | 2.680 s | 1.038 s | 0.749 s | 0.499 s | 0.385 s |
povećanje brzine u usporedbi s prethodnom verzijom | – | 158% | 39% | 50% | 29% |
povećanje brzine u usporedbi s PHP 5.6 | – | 158% | 258% | 437% | 596% |
PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | |
micro_bench.php | 12.632 s | 4.241 s | 3.569 s | 2.845 s | 2.454 s |
povećanje brzine u usporedbi s prethodnom verzijom | – | 198% | 18% | 25% | 15% |
povećanje brzine u usporedbi s PHP 5.6 | – | 198% | 253% | 344% | 415% |
Kraće vrijeme je bolje. 🙂
Nekoliko riječi o korištenim skriptama
bench.php
Ova skripta uglavnom obavlja zadatke u petljama, osim za jednostavne funkcije (koje u petlji obavljaju povećanje vrijednosti varijable, izračunavaju duljinu niza ili pozivaju praznu funkciju) sljedeće zadatke:
– izračunava zbirku Mandelbrot,
– obračunava Ackermannovu funkciju,
– izračunava Fenomenski redoslijed,
– sortira hrpu,
– stvara višedimenzionalni niz
Izvor: https://github.com/php/php-src/blob/master/Zend/bench.php
micro_bench.php
ova skripta također se oslanja na petlje i izvršava, između ostalog sljedeće zadatke:
– poziva funkciju u petlji,
– čita vrijednost svojstva objekta,
– sprema vrijednost u svojstvo objekta,
– provjerava je li objektu dodijeljena vrijednost,
– provjerava nije li vrijednost svojstva objekta prazna,
– poziva metodu objekta,
– čita vrijednost statičkog svojstva objekta,
– sprema vrijednost u statičko svojstvo objekta,
– provjerava je li vrijednost dodijeljena statičkom svojstvu objekta,
– provjerava nije li vrijednost statičkog svojstva objekta prazna,
– poziva statičku metodu objekta
Izvor: https://github.com/php/php-src/blob/master/Zend/micro_bench.php
Kao što možete vidjeti skripte od verzije do verzije rade brže i brže.
Gore navedena ispitivanja provedena su prema referentnoj vrijednosti za usporedbu performansiPHP Performance Comparison 2018 and 2017 koju je stvorio Christian Vigh.
Preporučujemo da sami izvršite testove performansi PHP 7.3 na hostingu SSD
– sve što trebate učiniti je odabrati neki od hosting paketa, jer je svaki od hosting računa u PHP 7.3 standardu.
- Je li Litespeed brži od programa Apache? - 11 svibnja, 2020
- Zašto je “tehnička domena” dobro rješenje? - 18 veljače, 2020
- Uključivanje IPv6 na hostingu - 18 srpnja, 2019