Facebook stellt HipHop for PHP vor

3. Februar 2010, 11:56

Entwickler wollen damit CPU-Auslastung auf den Facebook-Servern verringern

Wie bereits gemunkelt wurde, will Facebook die Entwicklung von PHP beschleunigen. Die Entwickler haben nun HipHop for PHP veröffentlicht. Damit kann PHP-Sourcecode in C++-Code umgewandelt werden, wie heise berichtet. Die Betreiber des Social Networks erhoffen sich damit, die CPU-Auslastung der Webserver um die Hälfte reduzieren zu können.

Auf 90 Prozent der Server eingesetzt

Dass sich die Entwickler von Facebook daran gemacht haben, die Skriptsprache zu verändern, kommt nicht von ungefähr. Facebook setzt stark auf PHP und verzeichnet monatlich 400 Milliarden Seitenaufrufe. Das Projekt wurde bereits vor zwei Jahren gestartet. Die Technologie soll bereits auf 90 Prozent der Facebook-Server laufen.

OpenSource

HipHop besteht aus einem Codeumwandler und einer Neuimplementierung der PHP-Runtime. Außerdem wurden die PHP-Komponenten von verbreiteten Anwendungen neu geschrieben. Facebook will HipHop als OpenSource unter der PHP-Lizenz veröffentlichen. (red)

 

Kommentar posten
22 Postings
Reginald Bull
10
c++ ? vm

Mich wundert dass die einen c++ Übersetzer geschrieben haben. Wäre besser gewesen PHP endlich in eine Java-VM zu integrieren. Performance wäre auch nicht viel schlechter gewesen dafür aber die Platformunabhängigkeit besser. Auch ein besseres Mischen verschiedener VM-Sprachen wäre möglich gewesen.

Benjamin F.
00
kennen Sie sich etwa aus?

ist C++ nicht plattformübergreifend? ;)
Und von der Performance ist Java Welten hinterlegen.

Reginald Bull
00
schon ein wenig...

Genau man nehme ein c++ Prog. compiliere es unter Win, Linux und Mac und überall läuft's - schön wär's!
Je mehr das Prog können soll desto problematischer wird es.

Performance C++ und Java ist heute nahezu gleich!!!
(Startup ist natürlich bei J langsam aber das zählt am Server eh nicht)

michael streuleitner
01
php wird zu hiphop

anstatt echo gibts dann shout-out.

Achmo Ledbid
00
PHP Source Code in C++ umwandeln..

...klingt beim ersten Hinhören ganz toll, aber wenn man weiterüberlegt bedeutet das folgendes:
- PHP wird von Interpretersprache zur Compiler-Sprache mit allen Nachteilen einer Compiler-Sprache
- Unter manchen Betriebssystem-Plattformen werden die C++ Binaries nicht unbedingt herstellbar sein, und dort wird PHP weiter als Interpretersprache eingesetzt.
- PHP wird nur mehr "Pseudo-Plattformunabhängig", weil eben je nachdem wieviele Funktionen in C++ umwandelbar sind hängt davon ab welche Compiler für das BS vorhanden sind und wie weit hardwarenahe funktionen damit abwickelbar sind, anders gesagt: unter manchen Betriebsystemen bleibt PHP eine "langsamere" Interpretersprache, unter manchen Betriebsysteme wird PHP schneller.

martinus
 
00

Es besteht ja kein Zwang den C++ translater zu verwenden, die alte Runtime funktioniert immer noch. Erst wenn man merkt dass es Performancprobleme gibt, kann man den relevanten Teil umstellen. Find ich gut.

Davidoff et cetera
00

abgesehen davon kann ich mir nicht vorstellen, dass so ein PHP->C++ übersetzer intelligent genug übersetzen kann.

socram
00

php bleibt php. der facebook compiler ist ein externes tool und wird nicht bei php eingebaut werden. er ist auch nur dann interessant, wenn php wirklich die CPU ins schwitzen bringt. im normalfall sind die bottlenecks eher die festplatten, fehlender cache oder unzureichend optimierte datenbanken.

so go
12
facebook fragt mich nach meinen E-Mail-Zugangsdaten

"Das Durchsuchen deines E-Mail-Kontos ist der schnellste Weg, um deine Freunde auf Facebook zu finden.

Deine E-Mail:
E-Mail-Passwort:

"---
professionelles phishing ist zwar phishing aber kein verbrechen... oder wie?

subjectdenied
00
imho auch nicht ganz uninteressant

lunascript:

http://www.asana.com/luna

Vorratsdatenspeicherung = Verfassungswidrig!
135
php = gammelsprache: kann alles, aber nichts wirklich gut

Sorry, aber wenn sich FB keine anderen Sprachen leisten kann, sollte es imho untergehen.

PHP ist, war, und wird immer eine ineffiziente und schlechte sprache sein.

martinus
 
01

Eine Sprache ist nur so gut wie der Programmierer der vor der Tastatur sitzt.

michael streuleitner
00
richtig coden

php == gammelsprache;
dann klappts auch mit den programmen.. :D

Severin Luftensteiner
00

nur weil sie's nicht schaffen damit guten code zu schreiben, ist die sprache nicht schlecht...

ma-cher
 
00
Deswegen ist sie ja

soooo erfolgslos ...

Ko Prolyt
01
ja ja bla...

gute schlechte sprache... das ist so wie pc gegen mac... wirklich wichtig ist was man daraus macht.

Peter Gay-Heim
13

Eine Sprache ist immer nur so schlecht wie ihr Programmierer.

fadattf
00

FB hat evaluiert ob es sich auszahlt umzusteigen. Aber über 1 Mio. Codezeilen schreibt man nicht zum Spaß ganz einfach komplett neu. Vor allem wird FB laufend erweitert da müsste man parallel entwickeln.

Und gerade mit HipHop wird PHP um einiges effizienter da hier nun c-code erzeugt wird welcher kompiliert wird und dann ausgeführt wird.

linuxforeverlinux
14

relativ wenig ahnung gepaart mit nullwissen ergibt einen total unwissenden!
jede sprache hat ihre vor und nachteile: php ist groesstenteil auf internet ausgelegt.
und woran deklarieren sie eine schlechte sprache?
objektorientiert, nicht objektorientiert?
schnell, langsam?
sprachumfang?

Cpt Caveman
11

er hats vielleicht hart ausgedrückt aber im grunde hat er recht.

http://www.bitstorm.org/edwin/en/php/
http://www.ukuug.org/events/li... index.html

ma-cher
 
00
Der Eintrag ist von 2004,

also 6 Jahre alt ...

Linke Zecke
01

da spricht ein kenner

Die Kommentare von Usern und Userinnen geben nicht notwendigerweise die Meinung der Redaktion wieder. Die Redaktion behält sich vor, Kommentare, welche straf- oder zivilrechtliche Normen verletzen, den guten Sitten widersprechen oder sonst dem Ansehen des Mediums zuwiderlaufen (siehe ausführliche Forenregeln), zu entfernen. Der/Die Benutzer/in kann diesfalls keine Ansprüche stellen. Weiters behält sich die derStandard.at GmbH vor, Schadenersatzansprüche geltend zu machen und strafrechtlich relevante Tatbestände zur Anzeige zu bringen.