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

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

1 Tag ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

1 Tag ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

1 Tag ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

2 Tagen ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

2 Tagen ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

2 Tagen ago