Mellékleteink: Unix / Linux | Gamekapocs
Keres
a HWSW bemutatja > BigScreen 2012: Konferencia a televíziózás technológiájának jövőjéről, Cinema City Allee, február 29.

PHP-gyorsítót adott ki a Facebook

Bizó Dániel, 2010. február 03. 16:52
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Kiadta a Facebook annak a PHP-gyorsító szoftvernek a forráskódját, amelynek segítségével a saját portáljára beözönlő hatalmas látogatói tömeget is kiszolgálja. A HipHop for PHP lényegében nem tesz mást, minthogy a PHP szkriptet a sokkal hatékonyabb C++ kódra fordítja át, majd abból generál gépi kódot.

hirdetés

A Facebook ügyes húzással már korábban jelezte, hogy valami nagyon fontosat jelent majd be február másodikán. A HipHop for PHP a Facebook belső fejlesztése, amelyen az elmúlt két és fél évben dolgozott néhány programozó, és már éles üzemben használja a világ legnagyobb közösségi oldala. A fejlesztés motivációja az volt, hogy a PHP-ban létrehozott hatalmas szkripttömeget automatizáltan, programozástechnikailag helyesen át kellene fordítani egy olyan nyelvre, amelyből az erőforrásokkal sokkal hatékonyabban bánó gépi kód generálható.

Ilyen fordítók egyébként már vannak a piacon, ezek azonban szintén kevéssé hatékony Java, a Windowshoz kötődő .Net, vagy a már nem éppen legkorszerűbb C nyelveket célozták meg. A Facebook egyik fejlesztője, Haiping Zhao ezért egy olyan konvertáló megoldást akart, amely a Facebook PHP szkriptjeit egy modern és hatékony nyelvre interpretálja, és a szervereken már gépi kód formájában futtathatóak.

Miután a PHP Zend motorjának továbbfejlesztése és a különféle cache trükkök nem hozták meg a kívánt eredményt, a PHP-s kódot és környezetet pedig migrálni egy másikba kezelhetetlen méretű akadály lett volna, nem beszélve a PHP-s fejlesztők tudásának kárba veszésével. Zhao választása a C++ nyelvre esett. A tét sem volt kicsi, a Facebook másodpercenként átlagosan 150 ezer, komplex logikájú weblekérést szolgál ki, így az erőforrások hatékonyabb kihasználása hatalmas megtakarítási lehetőségeket rejt.

A HipHop több lépésben kezeli a PHP szkriptet, elemzésnek veti alá többek közt a függőségek feltérképezésére, készít köztes optimalizált változatot, kiértékeli, hogy melyik PHP változó milyen C++ típusnak feleltethető meg a leginkább hatékonyan, újabb köztes kódot készít, majd ez alapján elvégzi a C++ kód legenerálását. A C++ forrásból végül a g++ fordítóprogrammal elkészülhet a végrehajtható bináris a célplatformra.

A fejlesztők közlése szerint a HipHoppal az oldalak bonyolultságától függően nagyjából felére csökkenthető a processzorokon a terhelés, ami hatalmas megtakarítást jelent ebben a léptékben. A Facebooknak olyannyira bevált a HipHop, hogy 90 százalékban már így szolgálja ki a látogatói lekéréseket, és már fél éve használja éles üzemben. Végeredményben a fejlesztők sikeresen ötvözték a PHP egyszerűségét és rugalmasságát, valamint a C++ hatékonyságát. A 300 ezer sornyi kódot a Facebook PHP licenc alatt fogja kiadni a GitHubon. További részletek itt.

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.
Egy kis türelmet kérünk, töltjük a kommenteket...

Új komment írásához be kell jelentkezned!

A Fórumos azonosítódat is használhatod.

Ha még nem vagy tagunk, regisztrálj! Csak 2 perc az egész.

Tipp #1: több formázási lehetőséged van, ha a Fórumban szólsz hozzá a témához!
Tipp #2: készítettünk egy gyűjtőoldalt, ahol az összes friss kommentet megtekintheted.