Bene, Facebook ha subito MOLTE molte modifiche e non è stato originariamente progettato per essere efficiente. È stato progettato per fare il suo lavoro. Non ho assolutamente idea di come sia il codice e probabilmente non troverai molte informazioni al riguardo (per ovvi motivi di sicurezza e copyright), ma dai un'occhiata all'API. Guarda con che frequenza cambia e in che misura non funziona più, per niente o per niente.
Penso che il più grande asso nella manica sia l'hiphop.
http://developers.facebook.com/blog/post/358
Puoi usare HipHop da solo:
https://github.com/facebook/hiphop-php/wiki
Ma se me lo chiedi, è un compito molto ambizioso e probabilmente una perdita di tempo. Hiphop supporta solo così tanto, non può semplicemente convertire tutto in C ++. Cosa ci dice questo? Bene, ci dice che Facebook NON sta sfruttando appieno il linguaggio PHP. Non utilizza l'ultima 5.3 e sono disposto a scommettere che c'è ancora molto che è compatibile con PHP 4. Altrimenti, non potrebbero usare HipHop. HipHop È UNA BUONA IDEA e deve crescere ed espandersi, ma allo stato attuale non è davvero utile per molte persone che stanno costruendo NUOVE app PHP.
C'è anche PHP per JAVA tramite cose come Resin / Quercus. Ancora una volta, non supporta tutto ...
Un'altra cosa da notare è che se usi un modulo PHP non standard, non sarai nemmeno in grado di convertire quel codice in C ++ o Java. Tuttavia ... Diamo un'occhiata ai moduli PHP. Sono compilati in C ++. Quindi, se puoi costruire moduli PHP che fanno cose (come analizzare XML, ecc.), Allora stai fondamentalmente (meno alcune interazioni) lavorando alla stessa velocità. Ovviamente non puoi semplicemente creare un modulo PHP per ogni possibile esigenza e l'intera app perché dovresti ricompilare e sarebbe molto più difficile codificare, ecc.
Tuttavia ... Ci sono alcuni pratici moduli PHP che possono aiutarti con problemi di velocità. Sebbene alla fine della giornata, abbiamo questa fantastica cosa conosciuta come "il cloud" e con essa, possiamo ridimensionare le nostre applicazioni (incluso PHP) in modo che non contino più così tanto. L'hardware sta diventando sempre più economico. Amazon ha appena abbassato i prezzi (di nuovo) parlando.
Quindi fintanto che codifichi la tua app PHP attorno all'idea che avrà bisogno di un giorno scalare ... Quindi penso che tu stia bene e non sono davvero sicuro che guarderei anche Facebook e cosa hanno fatto perché quando l'hanno fatto, era un mondo completamente diverso e ora sta cercando di sostenere quell'infrastruttura e mantenerla ... Bene, ottieni cose come HipHop.
Ora come ti aiuterà HipHop? Non lo farà. Non può. Stai ricominciando da capo, puoi usare PHP 5.3. Consiglio vivamente di esaminare i framework PHP 5.3 e tutti i nuovi vantaggi che PHP 5.3 porta in tavola insieme alle librerie SPL e di pensare anche al vostro database. Molto probabilmente stai offrendo contenuti da un database, quindi controlla MongoDB e altri tipi di database che sono privi di schemi e orientati ai documenti. Sono molto più veloci e migliori per il tipo di sito web / app più "comune".
Guarda le NUOVE aziende come Foursquare e Smugmug e alcune altre aziende che utilizzano la NUOVA tecnologia e COME la stanno usando. Per il successo di Facebook, onestamente non li guarderei per "come" costruire un sito web / un'app efficiente. Non sto dicendo che non hanno persone molto (molto) di talento che lavorano lì che stanno risolvendo i (loro) problemi in modo creativo ... Non sto anche dicendo che Facebook non è una grande idea in generale e che non lo è successo e che non dovresti avere idee da esso .... Sto solo dicendo che se potessi visualizzare il loro intero codice sorgente, probabilmente non ne trarrai beneficio.