PHP 7 – macht das Internet deutlich schneller!

Dank Version 7 des PHP-Interpreters laufen Anwendungen und CMS Systeme nun deutlich schneller und das bei gleichzeitig viel geringerer Speicherverbrauch. Zudem kann PHP nun durch die Änderungen der internen Datenstrukturen bei der Performance locken mit der von Facebook entwickelten, eigenen Versionen des PHP-Interpreters HHVM mithalten und bietet je nach Anwendungen/Framework sogar deutlich mehr Performance.

PHP Next Generation (PHPNG)

Leider waren Projekte wie JIT nur in therotischen Umgebungen erfolgreich und erwiesen sich bei Applikationen wie WordPress unter realen Bedienugen als Fehlschläge. Dem Entwickler von Zend, Dmitry Stogov verdanken wir nun aber den Branch PHPNG aus dem dann durch intensive Hilfe der PHP Community und vieler weiterer Entwickler das PHP7 Release entstanden ist. Durch nur geringe Änderungen an der Skriptsprache läufen sogar viele PHP5 Anwendungen einwandfrei unter PHP7, ohne Änderungen am Quellcode und können so vom kräftigen Performance-Schub profitieren.

Was hat sich intern in PHP7 geändert?

Die gravierendsten Veränderung würden innerhalb der Zend Engine gemacht, durch eine Änderung der Referenzzählung zur Speicherverwaltung könnten die Zend Values (ZVals) von 24Byte auf nun noch 16Byte reduziert werden. Für Objekte, Array und Strings wird die Anzahl der Referenzen nur noch an den Werten gezählt, Booleans (Wahrheitswerte) sowie Zahlen werden einfach doppelt im Speicher vorgehalten das spart Platzt und CPU Rechenzeit.

Des weiteren wurde die Datenstruktur und die Elemente der Hashtables verringert, dies betrifft vor allem Arrays. Auch die Optimierung der unveränderbaren Arrays hat die CPU Rechenzeit sowie Speichernutzung noch einmal deutlich reduziert. Hinzu kommen noch eine verbesserte Speicherallozierung die ein effizienteres ARbeiten des Prozessor erlaubt.

Ladezeiten in Vergleich (Angabe in Millisekunden)

PHP7 – der Performance Turbo

Das PHP7 Release kommt mit rund 10.000 Änderungen gegenüber PHP 5 daher und auch die Benchmarks bei realen Anwendungen wie Typo3, Joomla oder WordPress sprechen für sich. Ab der WordPress Version 4 zB. verarbeitet PHP7 mehr als doppelt so viele Anfragen wie PHP5. Und auch für Entwickler wird es zukünftig viel einfacher die ARbeitweise des Compilers zu verstehen.

Einziger Nachteil: Die Änderungen an den internen PHP-C-Extension-API sind so massiv das sämtliche standardmäßigen Erweiterungen die mit PHP7 ausgeliefert werden, angepasst werden müssten.