HipHop - Facebook beschleunigt PHP
Software wandelt PHP-Code in C++ um
Facebook hat mit HipHop eine Software zur Beschleunigung von PHP veröffentlicht. HipHop ist bei Facebook bereits im Einsatz und hat die Serverlast halbiert.
HipHop wandelt PHP-Code in C++ um, der anschließend mit g++ in nativen Maschinencode übersetzt und ausgeführt wird. Dabei umfasst HipHop einen Code-Transformer, eine Reimplementierung des PHP-Runtime-Systems und neu geschriebene Versionen häufig genutzter PHP-Erweiterungen, die von den durch HipHop vorgenommenen Optimierungen profitieren.
Bei Facebook ist HipHop bereits seit sechs Monaten im Einsatz. Rund 90 Prozent des gesamtem Facebook-Traffics - 400 Milliarden Seitenabrufe pro Monat - laufen über HipHop. Dabei konnte die Serverlast im Durchschnitt um 50 Prozent reduziert werden, was Facebook erhebliche Kosten einspart. Das Unternehmen betreibt rund 30.000 Server. Auch der Speicherverbrauch lässt sich mit HipHop reduzieren. Und das Ende der Fahnenstange sei noch nicht erreicht, so Facebook-Entwickler Haiping Zhao, der den aktuellen Entwicklungsstand als Beta beschreibt.
Einige selten genutzt Funktionen bleiben dabei auf der Strecke, beispielsweise kann eval() nicht mit HipHop genutzt werden, so Facebook.
Daneben hat Facebook bereits früher einige rechenintensive und häufig genutzt Funktionen in C++ implementiert, so dass PHP nur als Mittler zwischen Backend und Nutzer auftritt. Der Ansatz aber sei nur bedingt sinnvoll, denn es gebe deutlich weniger Entwickler, die sich mit dem entsprechenden Code auseinandersetzen können. Neben der Sprache müssten sie sich auch in die Zend-APIs einarbeiten, um PHP-Erweiterungen zu schreiben.
An PHP selbst hält Facebook aus strategischen Gründen fest: Die Sprache sei leicht zu erlernen und neue Entwickler in kurzer Zeit produktiv. Zudem ermögliche die Skriptsprache eine hohe Entwicklungsgeschwindigkeit.
Der Ansatz, einzelne Teile der Zend-Engine neu zu schreiben und die Patches dem PHP-Projekt zu übergeben, habe auch nicht den erhofften Geschwindigkeitsschub gebracht, begründet Haiping Zhao das von ihm begonnene HipHop-Projekt. Auch sei die Idee nicht neu, so Haiping Zhao unter Verweis auf Projekte wie Roadsend und phc, das PHP in C umwandelt, Quercus, was PHP in Java übersetzt und Phalanger, was PHP in .Net umwandelt.
Mit HPHPi steht zudem ein experimenteller Interpreter für die Entwicklung bereit: Dank HPHPi ist es nicht notwendig, PHP-Code vor jeder Ausführung zu kompilieren, was in der Entwicklung erheblich Zeit spart.
Insgesamt hat das aus drei Facebook-Entwicklern bestehende HipHop-Team rund 300.000 Zeilen Code und 5.000 Unit-Tests für das Projekt geschrieben - Code, der in Kürze unter der PHP-Lizenz als Open Source bei Github bereitstehen soll. Noch ist weder der Code noch das angekündigte Wiki verfügbar.
Ein Shooter hat weniger Fehlbedienungen als ein i18n-Dialoge in Onlineshops "ihre...
Nein, IoC ist ein entschiedener Nachteil. Du kannst es ja mal einen Benchmark machen. Die...
Man muss halt wissen, was man tun muss. Wie man die Dienste listet und unnötige abstellt...
auf den link habe ich gewartet :D