von , 03.02.2010

Webentwicklung: „HipHop“ – Facebook erfindet PHP neu

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 , da es nach eigener Aussage eine Programmiersprache ist, die eine geringe Lernkurve besitzt, dabei aber trotzdem alle Möglichkeiten offen lässt. Allerdings liefert 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 for php„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.

Weitere Artikel zu Apache, Facebook, PHP und Webentwicklung



Empfohlene Produkte

Empfohlene Artikel

11 Antworten

  1. von Steffen 03.02.2010 (10:59Uhr) 1.

    Um wieviel schneller ist das denn?

  2. von Dustin Klein 03.02.2010 (11:28Uhr) 2.

    Das würde mich auch interessieren. Könnte ein harter Schlag für Zend und Co. werden...

  3. von Jonas 03.02.2010 (11:42Uhr) 3.

    Ich habe gelesen, dass es bis zu 50% schneller ist, aber das ist wahrscheinlich extrem abhängig davon was man macht.

    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...

  4. von Pierre 03.02.2010 (13:05Uhr) 4.

    50% wären ja schon gut, wobei es nicht die 1000% sind von der t3n noch kürzlich gesprochen hat.

  5. von Guido Mühlwitz 03.02.2010 (13:09Uhr) 5.

    Die Geschwindigkeit ist abhängig von den Kosten eines Befehls. String-Operationen sind zum Beispiel immer teuer, Rechen-Operationen billig. Habe ich optimiertes PHP oder nicht? (HipHop optimiert auch!), entsprechend ist auch das Resultat von HipHop unterschiedlich. Man kann da wahrscheinlich nur von einem von-bis-Geschwindigkeitsgewinn reden, und bei manchen Anwendungen wird 50% zu viel sein, bei anderen zu wenig!

  6. von TwittLink - Your headlines on Twitter 04.02.2010 (03:35Uhr) 6.

    [...] Tweets about this great post on TwittLink.com [...]

  7. von Johnny M. 04.02.2010 (12:08Uhr) 7.

    Frage mich welchen Einfluß diese angedeuteten einschneidenden Entwicklungen für bestehende und kommende PHP-Frameworks wie Zend Framework, Symfony oder auch FLOW3 hat!? Anyone?

  8. von Thomas Fritz 04.02.2010 (16:23Uhr) 8.

    Eigentlich auch nix ganz neues. Obwohl ich vorher auch von anderen Projekten wie Roadsend nix gehört hab.

    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....

  9. von Webentwicklung: XHP – Einfacher und si… 11.02.2010 (09:53Uhr) 9.

    [...] Facebook bereits HipHop angekündigt hat, folgt nun mit XHP der nächste Eckpfeiler für die Frontendprogrammierung in dem Unternehmen. [...]

  10. von Hip Hop, Rankingfaktoren, Freelance Rech… 12.02.2010 (20:31Uhr) 10.

    [...] anderen hat Facebook “Hip Hop” entwickelt. Dabei handelt es sich um die Möglichkeit, PHP Code in C++ zu [...]

  11. von Frank Karlson 15.03.2010 (01:05Uhr) 11.

    In anderen Berichten habe ich gelesen, das FB HipHop nicht in allen Anwendungen im einsatzt hat, bedeutet für mich die Frage woher kommen die 50% CPU Reduzirung?
    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.

33 Tweets

  • kla_kal: RT @untitaker: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • greenwoodworx: Facebook macht Scriptsprache PHP schneller: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • dukator1: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • awestbunk: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • untitaker: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • chrmar: Gerücht hab ich vor langer Zeit getwittert, jetzt hat #Facebook wirklich #PHP "neu erfunden": http://bit.ly/b78sRV
  • korppu: RT @MoritzBuetzer: "...liefert Facebook im Monat zirka 400 Milliarden PHP-Seiten aus..." (Quelle: http://bit.ly/cjieVO, Facebook erfinde ...
  • simonbrugger: Facebook's PHP-Extension #HipHop http://t3n.de/news/hiphop-facebook-php-266340/
  • suzanaivankovic: RT @yeebase_t3n Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • pehbehbeh: Ist HipHop jetzt das nächste große Ding? http://ow.ly/13kW0 Mal sehen...
  • creabrain: @tobytes Warum noch Caching??? HipHop for PHP – Facebook erfindet PHP neu http://bit.ly/cjieVO ;)
  • ottflott: #Krass: #HipHop - #Facebook erfindet #PHP neu: http://ping.fm/TiLiy
  • arimue: Bahnbrechend: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/b78sRV
  • ibmedien: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • typo3news: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu - Wie wir bereits am Montag spekuliert haben, hat Facebook nun... http://ow.ly/16ufr8
  • MoritzBuetzer: "...liefert Facebook im Monat zirka 400 Milliarden PHP-Seiten aus..." (Quelle: http://bit.ly/cjieVO, Facebook erfindet PHP neu @yeebase_t3n)
  • webentdecker: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu » t3n News: http://bit.ly/bzjm9g via @addthis
  • whataboutmd: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • elbebass: RT @yeebase_t3n Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • Deomar: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • SaNikDesign: RT: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO [via @yeebase_t3n]
  • rootix: Facebook revolutioniert PHP mit dem "HipHop" Compiler http://bit.ly/9WTr4H (via @yeebase_t3n)
  • ralf_tannert: RT: @yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • infolust: RT:Facebook erfindet PHP neu http://bit.ly/9WTr4H
  • XoGuSi: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO via @yeebase_t3n
  • lennarz: RT @wpSEO: HipHop for PHP – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • ulfklose: RT @wpSEO: HipHop for PHP – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • senorf: Der Name rulet. RT @yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • ugotit: RT @yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • wpSEO: HipHop for PHP – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • TruitionDe: RT @yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • derSchepp: RT @yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • yeebase_t3n: Webentwicklung: „HipHop“ – Facebook erfindet PHP neu http://bit.ly/cjieVO
  • retweet
  • Möchten Sie auch hier erscheinen? Dann hier Re-Tweeten

Deine Meinung


(wird nicht veröffentlicht)