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

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

1 Tag ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

4 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

5 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

5 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

5 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

6 Tagen ago