PHP Benchmarks voor versie 8.1, 8.2 en 8.3

PHP

Gepubliceerd: 20.03.2024

PHP is een van de meest gebruikte programmeertalen aan de serverzijde. Door de jaren heen zijn er veel nieuwe versies uitgekomen en dus ook veel nieuwe verbeteringen. Deze verbeteringen zijn vaak gerelateerd aan prestatieverbeteringen. In deze blog bespreken we de prestatieverbeteringen van PHP-versies 8.1, 8.2, en 8.3 die zijn gebenchmarked.

Laten we eerst kort uitleggen wat PHP Benchmarks precies zijn.

PHP Benchmarks zijn tests die worden uitgevoerd met een specifiek script dat de prestaties van PHP-code evalueert. Ze worden gebruikt om de snelheid en efficiëntie van verschillende aspecten van PHP-functies/toepassingen te meten. Zo wordt bijvoorbeeld bekeken hoe lang het duurt voor een PHP-versie om door een lus te gaan of door een if/else-verklaring te gaan.

Er zijn verschillende soorten benchmarks die kunnen worden uitgevoerd. Hier zijn enkele voorbeelden:

  • Algemene prestatiebenchmarks: Deze benchmarks meten de algehele prestatie van de PHP-omgeving. Ze beoordelen metrieken zoals verzoeken per seconde, responstijd, laadtijd van webpagina's, geheugengebruik, enz. Door deze benchmarks regelmatig uit te voeren, kunnen knelpunten gemakkelijk worden geïdentificeerd en de algehele prestaties worden verbeterd.
  • Framework benchmarks: Als er gebruik wordt gemaakt van een PHP-framework, wordt deze benchmark belangrijk. Het evalueert de prestaties van het framework zelf, waarbij verschillende aspecten worden getest zoals gedefinieerde routes voor de website, gegevensopvraging uit de database, verwerking van formuliergegevens, enz.
  • Database benchmarks: Deze benchmark richt zich specifiek op database-interacties binnen een PHP-toepassing. Het meet de snelheid van gegevensopvraging, updates, database-responsiviteit bij zware belastingen, enz.

Hoewel er veel andere benchmarks zijn die de ontwikkeling significant kunnen beïnvloeden, zijn niet allemaal relevant om te gebruiken.

Laten we nu de prestatieverschillen van de benchmarks bespreken tussen PHP-versies 8.1, 8.2, en 8.3.

In deze drie PHP-versies is er een klein verschil te zien in de prestatieverbeteringen die mogelijk grote impact hebben op de snelheid van je website. Van versie 8.1 naar 8.3 is het 4 seconden sneller geworden. Hier zijn de benchmarkresultaten van deze drie PHP-versies.

Bron: onlinephp.io

PHP versie Math String Manipulatie Loops If / Else Totaal Tijd (seconden)
8.3.4 4.50980 4.78484 4.83696 3.68246 17.81406
8.2.17 4.27543 4.63013 5.50051 4.34507 18.75113
8.1.27 5.32223 6.39273 5.31313 4.12587 21.15396

Zoals te zien is bij deze resultaten zijn er een aantal dingen die getest zijn geweest. Soms kan het zijn dat een aspect zoals Math bij PHP 8.3.4 iets trager kan worden dan de vorige versies. Dit zal in de toekomstige versies wel weer verbeteren maar in dit geval is dit geen probleem omdat de andere aspecten dit weer opvangen met een ruime prestatieverbetering. Nu is dit een verbetering maar er wordt zich wel afgevraagd of we nu ongeveer de snelste tijd hebben bereikt of zal er in de toekomst nog een grote prestatieverbetering zich voordoen? Deze vraag is ontstaan omdat we van PHP 7 naar PHP 8.1 maar een prestatieverbetering hebben van 20% terwijl van PHP 5.6 naar PHP 7 dit 400% was.

Bron: onlinephp.io

PHP versie Math String Manipulatie Loops If / Else Totaal Tijd (seconden)
8.1.27 5.32223 6.39273 5.31313 4.12587 21.15396
7.0.33 4.29563 7.24797 8.19844 4.95791 24.69994
5.6.40 21.83867 19.79074 27.07490 10.01713 78.72144