Menü

PHP bekommt einen JIT-Compiler

Voraussichtlich Ende 2021 mit PHP 8.0 wird die Skriptsprache einen JIT-Compiler bekommen. Derzeitige Experimente wurden nun abgesegnet.

Lesezeit: 1 Min.
In Pocket  speichern vorlesen Drucken Kommentare lesen 132 Beiträge
Developer
Von

Nicht die nächste Version 7.4 der Skriptsprache PHP wird einen JIT-Compiler (Just-in-time) bekommen, wohl aber PHP 8. Was schon geraume Zeit Teil von Diskussionen war, hat nun offiziellen Status. Denn zentrale PHP-Entwickler haben beschlossen, dass die derzeitig noch experimentellen JIT-Features in PHP 8 erscheinen sollen.

Just-in-time ist eine Compilerstrategie, die Zwischencode ableitet und diesen zur Laufzeit in architekturabhängigen Maschinencode verwandelt, und das dann "just in time" direkt über die CPU und nicht mehr über die Zend Virtual Machine. An der JIT-Unterstützung in PHP wird seit geraumer Zeit in einem separaten Entwicklungszweig gearbeitet. Verantwortlich zeichnen hier vor allem Mitarbeiter der mittlerweile von Rogue Wave übernommen Firma Zend.

Schon die vergangenen PHP-Releases, nicht zuletzt das im Spätherbst 2018 erschienene PHP 7.3, standen unter dem Zeichen einer besseren Performance. Mit einer JIT-Unterstützung hat die Skriptsprache offenbar das Potenzial, gerade bei CPU-nahem Code noch mal eine Schippe darauf zu legen. Bis ein JIT-Compiler ein offizielles Feature von PHP wird, kann allerdings noch dauern. Derzeit ist mit der Veröffentlichung von PHP 8.0 frühestens Ende 2021 zu rechnen.

Ähnlich verhält es sich übrigens in der Ruby-Entwicklung, in der das aktuelle Ruby-2.6-Release ebenfalls auf experimenteller Basis einen JIT-Compiler erhalten hat, der bei CPU-intensivem Code eine deutlich bessere Performance verspricht. Und auch in der Python-Entwicklung konkurriert PyPy, die JIT-basierte Implementierung der Programmiersprache, bei der Performance mit der Standard-Implementierung CPython.

Weitere Informationen zur Motivation, zur Entwicklung und zu den Auswirkungen auf das gegenwärtige PHP finden sich in einem Blogbeitrag von PHP-Entwickler Joe Watkins. (ane)