Abo
  • Services:
Anzeige
HipHop - Facebook beschleunigt PHP

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.

Anzeige

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.


eye home zur Startseite
schnee-affen 13. Feb 2010

Ein Shooter hat weniger Fehlbedienungen als ein i18n-Dialoge in Onlineshops "ihre...

Jörg Zweier 11. Feb 2010

Nein, IoC ist ein entschiedener Nachteil. Du kannst es ja mal einen Benchmark machen. Die...

Vorteile nutzen 04. Feb 2010

Man muss halt wissen, was man tun muss. Wie man die Dienste listet und unnötige abstellt...

Satan 04. Feb 2010

auf den link habe ich gewartet :D

Satan 04. Feb 2010

...bei dem Namen *scnr* Wenn man seine Server entlasten will, sollte man vielleicht...


Developer's Guide / 03. Feb 2010

HipHop beschleunigt PHP

MyOOS [Shopsystem] / 03. Feb 2010

HipHop beschleunigt PHP Software



Anzeige

Stellenmarkt
  1. dSPACE GmbH, Paderborn
  2. WEGMANN automotive GmbH & Co. KG, Veitshöchheim
  3. atg Luther & Maelzer GmbH, Wertheim Raum Würzburg
  4. SoftwareONE Deutschland GmbH, deutschlandweit


Anzeige
Blu-ray-Angebote
  1. 5,49€
  2. 139,99€ (Vorbesteller-Preisgarantie)
  3. 24,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Spionage im Wahlkampf

    Russland soll hinter neuem Hack von US-Demokraten stecken

  2. Comodo

    Zertifikatsausstellung mit HTML-Injection ausgetrickst

  3. Autonomes Fahren

    Mercedes stoppt Werbespot wegen überzogener Versprechen

  4. Panne behoben

    Paypal-Lastschrifteinzug funktioniert wieder

  5. Ecix

    Australier übernehmen zweitgrößten deutschen Internetknoten

  6. Die Woche im Video

    Ab in den Urlaub!

  7. Ausfall

    Störung im Netz von Netcologne

  8. Cinema 3D

    Das MIT arbeitet an 3D-Kino ohne Brille

  9. AVM

    Hersteller für volle Routerfreiheit bei Glasfaser und Kabel

  10. Hearthstone

    Blizzard feiert eine Nacht in Karazhan



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Verbindungsturbo: Wie Googles Rack TCP deutlich schneller machen soll
Verbindungsturbo
Wie Googles Rack TCP deutlich schneller machen soll
  1. Black Hat 2016 Neuer Angriff schafft Zugriff auf Klartext-URLs trotz HTTPS
  2. Anniversary Update Wie Microsoft seinen Edge-Browser effizienter macht
  3. Patchday Microsoft behebt Sicherheitslücke aus Windows-95-Zeiten

Headlander im Kurztest: Galaktisches Abenteuer mit Köpfchen
Headlander im Kurztest
Galaktisches Abenteuer mit Köpfchen
  1. Hello Games No Man's Sky braucht kein Plus und keine Superformel
  2. Hello Games No Man's Sky droht Rechtsstreit um "Superformel"
  3. Necropolis im Kurztest Wo zum Teufel geht es weiter?

Elementary OS Loki im Test: Hübsch und einfach kann auch kompliziert sein
Elementary OS Loki im Test
Hübsch und einfach kann auch kompliziert sein
  1. Linux-Distribution Ubuntu diskutiert Ende der 32-Bit-Unterstützung
  2. Dells XPS 13 mit Ubuntu im Test Endlich ein Top-Notebook mit Linux!
  3. Aquaris M10 Ubuntu Edition im Test Ubuntu versaut noch jedes Tablet

  1. Re: Innovation bei Paypal ?

    pk_erchner | 09:17

  2. Re: Mal nicht Nordkorea?

    onkel_joerg | 09:13

  3. Re: Teilautonomes fahren riskant?

    kazhar | 09:04

  4. Re: Wo ist der Haken?

    Chris79 | 08:50

  5. Re: Zu Teuer (wie immer)

    Georgm. | 08:47


  1. 14:22

  2. 13:36

  3. 13:24

  4. 13:13

  5. 12:38

  6. 09:01

  7. 18:21

  8. 18:05


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel