Categories: Software

Facebook-Tool HipHop wandelt PHP-Code in C++ um

Facebook hat ein internes Tool für Entwickler vorgestellt, mit dem es seinen Programmierern gelungen ist, die Site zu beschleunigen: HipHop for PHP. Es wandelt PHP-Code in C++-Code um, der mit dem GNU-Compiler g++ kompiliert werden kann. Facebook will es jetzt unter der Open Source PHP License veröffentlichen.

Wie Haiping Zhao im Facebook-Developer-Blog schreibt, hat das Werkzeug seine Ursprünge im Programmierwettbewerb Hackathon von vor einigen Jahren. Mittlerweile ist es auf über 300.000 Zeilen Code angewachsen und hat 5000 Testläufe hinter sich.

Facebooks Website war ursprünglich in der Skriptsprache PHP geschrieben. PHP ist leicht zu verstehen und zu schreiben, aber langsamer als kompilierte Sprachen wie C++ oder Zwischencode-Sprachen wie Java. Um die Performance zu verbessern, führte man PHP-Erweiterungen in C++ ein. Die Anforderungen an Programmierer sind hier aber ungleich größer: Sie müssen nicht nur C++, sondern auch die nötigen APIs der Entwicklungsumgebung Zend gut kennen. Das erschwert Wartungsarbeiten am Code massiv.

Aus diesem Dilemma ist Haiping zufolge HipHop for PHP hervorgegangen, das die Lücke zwischen PHP und C++ schließt. Dem Facebook-Programmierer zufolge senkt der Einsatz von HipHop die Serverlast um durchschnittlich etwa 50 Prozent, weshalb weniger Server-CPUs angeschafft werden müssten. HipHop-Code mache über 90 Prozent von Facebooks Traffic aus.

HipHop produziert Haiping zufolge hoch optimierten C++-Code: So werde aus dem PHP-Code der Typ von Variablen möglichst genau erschlossen, um Speicherplatz zu sparen. Der eigentlichen Code-Erstellung, die recht direkt erfolge, gehe eine statische Analyse von Abhängigkeiten und Deklarationen voraus.

Als Nebenprodukt hat Facebook ergänzend HPHPi erstellt, einen experimentellen Interpreter für die Entwicklung. Er mache es überflüssig, PHP-Code zwischendurch immer wieder zu kompilieren, und helfe, Fehler in HipHop selbst zu finden. Außerdem verzichte man auf einige selten genutzte Features wie eval().

ZDNet.de Redaktion

Recent Posts

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

2 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

3 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

3 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

3 Tagen ago

Telekom nennt Termin für 2G-Ende

Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…

3 Tagen ago

Alphabet übertrifft die Erwartungen im dritten Quartal

Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…

4 Tagen ago