Code wird vor einem Lauf in C++ übersetzt

Facebook-Entwickler schreiben PHP-Runtime neu

05.02.2010
PHP ist die bevorzugte Sprache von Facebook, weil es einfach zu lernen und schreiben ist. Nur mit dem Tempo haderten die Entwickler und erfanden sich neu.

Zwei Jahre habe man an „HipHop für PHP“ gearbeitet. Dennoch habe es sich laut eigener Aussage ausgezahlt. Auf manchen Seiten soll sich die Last für die CPUs um 50 Prozent gesenkt haben. Weil man der Ansicht ist, dass auch das ganze Web von der Neuentwicklung profitiert, haben die Facebook-Entwickler das Projekt als Open-Source veröffentlicht. Auch wenn die Software schon sehr gute Resultate liefere, warnen die Macher dennoch vor dem Beta-Status. Fertig sei das Projekt noch nicht ganz.

HipHop für PHP: Soll CPU und Speicher deutlich entlasten.

Technisch gesehen ist HipHop für PHP kein eigener Compiler. Vielmerh ist es ein Code-Transformer. HipHop wandelt die PHP-Quellen in optimiertern C++-Code um und benutzt danach g++, um die Sache zu kompilieren. Das Ergebnis bleibe das Selbe. Allerdings habe man einige kaum genutzte Funktionen, wie zum Beispiel eval(), geopfert. Im Gegenzug erhalten man aber höhere Geschwindigkeit.

Da PHP eine Script-Sprache ist, sei diese zwar einfacher zu lernen und bringe schneller gewünschte Ergebnisse, sei dafür aufwendiger bei der Bearbeitung für CPU und Speicher. Man habe sich auf Grund der 400 Milliarden geklickten Facebook-Seiten pro Monat was überlegen müssen. Ein Weg wäre gewesen, Teile der PHP-Applikationen in C++ direkt zu schreiben und dann als PHP-Erweiterung einzubinden. Technisch gesehen funktioniere diese Weise gut. Allerdings würde man Entwickler abschrecken. C++ sei nur der erste Weg, PHP-Erweiterungen zu programmieren. Entwickler müssten sich auch och mit der Zend API auseinandersetzen.

Seit 2007 arbeite man bereits an Lösungen, Facebook weniger Hardware-lastig zu gestalten. Die allgemeine Meinung war zunächst, Facebook in einer anderen Sprache zu schreiben. Allerdings hätte man auf Grund der Komplexität einige Zeit in Anspruch nehmen müssen. Somit wurde HipHop für PHP ins Leben gerufen. Weitere Informationen finden Sie in der Ankündigung des führenden Entwicklers Haiping Zhao.(jdo)