Implementiramo PHP 7.3 i uspoređujemo ih s drugim verzijama

php 7.3 benchmark

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.

 

Junior administrator and consultant at Smarthost. She loves to travel, and in her spare time she is involved in photography and language learning.

Odgovori

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa *