Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (2)
Emner PHP, Open source

Så er det officielt: Facebook forvandler PHP til C++ med Hiphop

Hiphop for PHP er Facebooks nye vidundermiddel til at omdanne sløv PHP-kode til lynhurtig C++. Det betyder omkring 50 procent mindre CPU-tid på Facebooks webservere.

Af Mikkel Meister Onsdag, 3. februar 2010 - 10:04

Rygterne om en særlig optimeret udgave af PHP udviklet af Facebook har svirret de seneste par dage, og nu har den sociale hjemmeside bekræftet, at der er noget om snakken.

Hiphop for PHP hedder Facebooks nye værktøj, der dog hverken er en ny udgave af PHP eller en compiler i sig selv. Derimod er det et værktøj til at omdanne PHP-kode til optimeret C++-kode, som så kan oversættes med en C++-compiler og dermed give langt hurtigere og mindre hukommelseskrævende kode.

Dermed kan Facebooks udviklere fortsætte med at skrive i PHP, hvilket er noget nemmere at gå til, og samtidig opnå kraftige forbedringer af den sociale hjemmesides ydelse.

Facebook har over 400 milliarder PHP-baserede sidevisninger om måneden.

»Med Hiphop har vi reduceret CPU-forbruget på vores webservere med i gennemsnit omkring 50 procent, afhængigt af siden. Mindre CPU-forbrug betyder færre servere, hvilket igen betyder mindre overhead,« skriver senior server engineer Haipeng Zhao på hjemmesiden Facebook Developers.

Hiphop for PHP udgøres af omkring 300.000 C++-linjer, og Facebook finder det selv så anvendeligt, at værktøjet er frigivet som open source-kode.

PHP hurtig til udvikling, men kører for langsomt PHP er et scripting-sprog i samme familie som eksempelvis Python og Perl, og det er derfor nemt for udviklere at komme hurtigt udover stepperne, når der skal skrives ny kode.

Det har Facebook-udviklerne hidtil haft stor gavn af.

»I løbet af de seneste seks år har vi været i stand til at opnå meget takket været det hurtige udviklingstempo, PHP muliggør. Som programmeringssprog er PHP simpelt at lære, simpelt at skrive, simpelt at læse og simpelt at debugge,« skriver Haipeng Zhao.

Men Facebook har siden 2007 undersøgt mulighederne for at presse bedre ydelse ud af Facebooks kæmpe underskov af PHP-kode. Det har været særligt udfordrende, fordi de fleste af Facebooks hjemmesider udgøres af en Facebook-bruger, der er logget ind med sine egne indstillinger.

»Når du går ind og ser din Facebook-side, skal vi slå alle dine venner op, finde deres mest relevante opdateringer frem, filtrere resultaterne baseret på dine privacy-indstillinger, indsætte kommentarer, fotos og alle de andre data, folk holder af ved Facebook. Alt sammen på under ét sekund,« skriver Haipeng Zhao.

I praksis omdanner Hiphop PHP-kildekoden til C++-kode, som så efterfølgende oversættes med GNU-compileren g++. Samtidig udelades sjældent brugte features - eksempelvis funktionen eval() - fra den omdannede kode for igen at give bedre ydelse.

»Den største udfordring var at bygge bro mellem forskellene på PHP og C++. PHP er et scripting-sprog med dynamisk og svag typing, mens C++ er et oversat sprog med statisk typing,« skriver Haipeng Zhao.

Hiphop indeholder også en ny implementering af PHP's runtime-system og omskrevne udgaver af flere gængse PHP-udvidelser.

Ifølge seniorudvikleren har Hiphop for PHP været brugt det seneste halve år og bruges i øjeblikket til at levere mere end 90 procent af webtrafikken på Facebook.

Send Tweet
Udskriv

IT-job & karriere

  • Se alle it-job
  • Importer din kompetenceprofil fra LinkedIn
Software Developer
Udgivet 21. maj 8.06
Software Engineering Lead, Automation
Udgivet 7. maj 15.44
Erfaren BI konsulent til Business Information Management afdeling
Udgivet 8. dec 2011 9.44
Microsoft Dynamics AX Functional Consultant - Sales & Marketing and Services
Udgivet 27. apr 11.07

Kommentarer (2)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Per Sikker Hansen 4. feb. 2010 - 13.12
 
Kun g++?

Eller er det muligt at compile det med fx LLVM?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Lars Tørnes Hansen 26. aug. 2010 - 13.20
 
Re: Kun g++?

Ja det lader til at være tilfældet:

HipHop for PHP transforms PHP source code into highly optimized C++. It was developed by Facebook and was released as open source in early 2010. HipHop transforms your PHP source code into highly optimized C++ and then compiles it with g++ to build binary files. You keep coding in simpler PHP, then HipHop executes your source code in a semantically equivalent manner and sacrifices some rarely used features – such as eval() – in exchange for improved performance. Facebook sees about a 50% reduction in CPU usage when serving equal amounts of Web traffic when compared to Apache and PHP. Facebook’s API tier can serve twice the traffic using 30% less CPU.

Citatet er fra: http://wiki.github.com/facebook/hiphop-php/

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Meego-afløseren Tizen klar til at tage kampen op med Android

Udgivet 23. maj 16.01Opdateret 23. maj 16.01

Massiv logning af danskernes internetbrug - men politiet bruger kun IP-adressen

Udgivet 23. maj 15.22Opdateret 23. maj 15.22

198 IBM-medarbejdere fritstillet med øjeblikkelig virkning

Udgivet 23. maj 14.28Opdateret 23. maj 15.10

Mystisk Project X afsløret: Rent flashlager giver fænomenal IOPS-ydelse

Udgivet 23. maj 14.19Opdateret 23. maj 14.19

Region sparer licens-millioner på at lukke ”Grønt System”

Udgivet 23. maj 13.22Opdateret 23. maj 13.22

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Whitepapers

Kick-start your master data management initiative

Affecto Denmark

Affecto Data Quality Assessment: Er din indsigt og beslutning baseret på validt data?

Affecto Denmark

Framework til datamigrering i SAP miljøer - spar op til 50% på dine Data Migration udgifter

Affecto Denmark

Få et Data Warehouse (DW) review hos Affecto

Affecto Denmark

Ressourcehåndtering

Projectplace
  • Flere whitepapers

Branchenyheder

HP satser på open source i skyen

HP

Konica Minoltas stand på drupa 2012 slog besøgsrekord

Konica Minolta Business Solutions Denmark

Komplex it er blevet Brocade Premier Partner

Komplex IT

Øg din effektivitet og produktivitet med bizhub C654/C754

Konica Minolta Business Solutions Denmark

Brugerfjendtlige it-løsninger gør brugerne til en sikkerhedstrussel

Projectplace

Seneste debat

  1. Ny malware går efter alle browsere - også på Mac og Linux

    5 comments.
    Last update 5 minutter 20 sekunder
    Skrevet af Lars Lundin
  2. Meego-afløseren Tizen klar til at tage kampen op med Android

    2 comments.
    Last update 9 minutter 51 sekunder
    Skrevet af Jens Schumacher
  3. Sådan formaterer du tekst i debatten på Version2

    30 comments.
    Last update 26 minutter 8 sekunder
    Skrevet af Jesper Lund Stocholm
  4. Minister giver e-læring i køreskolerne det røde kort

    2 comments.
    Last update 49 minutter 36 sekunder
    Skrevet af Jens Madsen
  5. HTML5 – det nye sort?

    6 comments.
    Last update 58 minutter 6 sekunder
    Skrevet af Robert Larsen
  6. GOTO - programming with the stars

    1 comment.
    Last update 1 time 3 minutter
    Skrevet af Johannes Ulfkjær Jensen
  7. DanID: Du kan sagtens bruge NemID på MacOS X 10.5

    28 comments.
    Last update 1 time 6 minutter
    Skrevet af Jakob Damkjær
  8. IBM fyrer 170 i Danmark

    1 comment.
    Last update 1 time 28 minutter
    Skrevet af Erik Bruus

Mere debat »

It-virksomheder

Ciklum
|
Incube
|
Atos IT Solutions And Services
|
Devteam Danmark
|
Data-Force
|
Humac Pro
|
Timelog
|
ProData Consult
|
Zap Technology
|
Rehfeld
|
IBM Danmark
|
Reload!
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300