Wie wir bereits am Montag spekuliert haben, hat Facebook nun tatsächlich in seinem Developer Blog eine Erweiterung zu PHP veröffentlicht: „HipHop“ ist ein Compiler, der vor allem den Einsatz von PHP im Enterprise-Bereich und auf Hochlast-Seiten revolutionieren könnte.
Facebook benutzt PHP, da es nach eigener Aussage eine Programmiersprache ist, die eine geringe Lernkurve besitzt, dabei aber trotzdem alle Möglichkeiten offen lässt. Allerdings liefert Facebook im Monat zirka 400 Milliarden PHP-Seiten aus, womit man definitiv an die Grenzen von PHP stößt. Denn aufgrund dessen Architektur liegen keine kompilierten Programme vor, sondern bei jedem Aufruf wird ein PHP-Skript erneut in einen Bytecode übersetzt. Software-Lösungen wie zum Beispiel der Zend Server, der eAccelerator oder APC versuchen, diesem Umstand mit Caching entgegenzuwirken. Die aber sind vom Prinzip her Behelfslösungen, die die Ausführungsgeschwindigkeit zwar beschleunigen, aber immer noch nicht die Geschwindigkeit kompilierter Programme erreichen, die direkt aufgerufen werden können. Diesem Umstand trägt Facebook nun mit seinem PHP-Compiler Tribut.
Zwei Jahre Entwicklungszeit
„HipHop“ vermag es, beliebigen PHP-Code nach C++ zu transferieren und den dabei entstehenden Code mit g++ zu kompilieren. Als Ergebnis erhält man ein ausführbares Programm, das direkt vom Webserver aufgerufen werden kann. Neben der Tatsache, dass dieses Programm per se schneller Berechnungen durchführt als PHP selbst, entfällt auch der gesamte Aufwand einen Cache bereitzustellen oder das permanente Kompilieren in Bytecode.
Die Entwicklungszeit von HipHop betrug nach eigenen Angaben zwei Jahre und beträgt 300.000 Zeilen Quelltext verbunden mit 5.000 Unit Tests. Die Veröffentlichung erfolgt in Kürze auf Github. Im Kleingedruckten kündigt Facebook außer HipHop auch HPHPi an, das sich allerdings noch im Entwicklungsstadium befindet. HPHPi scheint ein Interpreter-Ersatz für PHP zu sein, das die Vorzüge von HipHop bereitstellt, ohne das man die Art und Weise der PHP-Entwicklung ändern müsste.
Fazit
Die Vorteile von HipHop liegen klar auf der Hand und man darf nun gespannt sein, wie die PHP-Community reagiert - oder auch Zend, deren Brot-und-Butter-Geschäft ja der Zend Server und somit die Optimierung von PHP ist. Wird HipHop eine breite Akzeptanz finden, gut einsetzbar sein, und vor allem als Open Source zur Verfügung stehen, muss Zend sicherlich kurzfristig reagieren.

















Oft ist ja auch die DB der Flaschenhals, also es wird nur etwas bei aufwändigen PHP abläufen bringen...
Ich bin gespannt wann typo3.exe oder /usr/bin/typo3 da ist :-D... Komplett kompiliert...
[...] Tweets about this great post on TwittLink.com [...]
Was mich interessiert ist wie sich solche Entwicklungen für kommende Frameworks wie FLOW3 auswirken. So ist es bei Roadsend zum Beispiel möglich, bestimmte PHP Files als PHP Module zu kompilieren: http://www.roadsend.com/p/manual/viewManual.php?prIDX=2&doc=Working-With-Libraries.html#Working-With-Libraries
So kann ich mir durchausvorstellen das man komplette Librarys wie FLOW3 als binary kompilieren lässt und diese als PHP Modul lädt. Wäre eine nette Entwicklung.
Oder aber man kompiliert seine Applikation als eine einzige fcgi Kompatible Binary. Hab Roadsend noch nicht ausprobiert, ich kann mir aber durchaus vorstellen das sich das auch hier absolut positiv auf die Performance auswirkt. Jemand schon Erfahrung gemacht mit Roadsend??
Ich frage mich nur wie und ob sich solche Entwicklungen positiv auf die PHP Sprache an sich auswirken, zumal ja Zend doch mehr oder weniger hinter PHP steht. Gräbt man nun deren Geschäft ab, entsteht die Frage wie sich das auf die Entwicklung von PHP und die Zend Engine auswirken wird.
Vielleicht aber auch positiv, wenn man nicht mehr abhängig zur Zend Engine ist oder aber einfach den PHP Interpreter austauschen kann. Wird interessant....
[...] Facebook bereits HipHop angekündigt hat, folgt nun mit XHP der nächste Eckpfeiler für die Frontendprogrammierung in dem Unternehmen. [...]
[...] anderen hat Facebook “Hip Hop” entwickelt. Dabei handelt es sich um die Möglichkeit, PHP Code in C++ zu [...]
Meinen die Etwa bei "Hello World" ?
Auch die Beispiele in einem Video wo übelst lastige Schleifen als Beispiel genommen werden sind eher die Ausnahme und kommen bei einem normalen Projekt so nicht zustande.
Ein wirklicher Meilenstein bleibt meiner Meinung nach aus. Es ist nur etwas anders und wenn man bedenkt auf was bei der Programmierung verzichtet werden muss, ist es kein wirklicher gewinn.