Bueno, Facebook ha sufrido MUCHOS cambios y originalmente no fue diseñado para ser eficiente. Fue diseñado para hacer su trabajo. No tengo ni idea de cómo se ve el código y probablemente no encontrará mucha información al respecto (por razones obvias de seguridad y derechos de autor), pero solo eche un vistazo a la API. Mire con qué frecuencia cambia y cuánto de eso ya no funciona correctamente o no funciona.
Creo que el mayor as bajo la manga es el Hiphop.
http://developers.facebook.com/blog/post/358
Puede usar HipHop usted mismo:
https://github.com/facebook/hiphop-php/wiki
Pero si me preguntas, es una tarea muy ambiciosa y que probablemente desperdicie tiempo. Hiphop solo admite mucho, no puede simplemente convertir todo a C ++. ¿Entonces qué nos dice esto? Bueno, nos dice que Facebook NO está aprovechando completamente el lenguaje PHP. No está utilizando la última versión 5.3 y estoy dispuesto a apostar que todavía hay mucho que es compatible con PHP 4. De lo contrario, no podrían usar HipHop. HipHop ES UNA BUENA IDEA y necesita crecer y expandirse, pero en su estado actual no es realmente útil para tantas personas que están creando NUEVAS aplicaciones PHP.
También hay PHP a JAVA a través de cosas como Resin / Quercus. De nuevo, no es compatible con todo ...
Otra cosa a tener en cuenta es que si usa un módulo PHP no estándar, tampoco podrá convertir ese código a C ++ o Java. Sin embargo ... Echemos un vistazo a los módulos PHP. Están compilados en C ++. Entonces, si puede construir módulos PHP que hagan cosas (como analizar XML, etc.), entonces básicamente está (menos alguna interacción) trabajando a la misma velocidad. Por supuesto, no puede simplemente crear un módulo PHP para cada necesidad posible y toda su aplicación porque tendría que volver a compilar y sería mucho más difícil de codificar, etc.
Sin embargo ... Hay algunos módulos PHP útiles que pueden ayudar con problemas de velocidad. Aunque al final del día, tenemos esta cosa increíble conocida como "la nube" y con ella, podemos escalar nuestras aplicaciones (PHP incluido) para que ya no importe tanto. El hardware se está volviendo cada vez más barato. Amazon acaba de bajar sus precios (nuevamente) hablando.
Entonces, siempre que codifique su aplicación PHP con la idea de que necesitará escalar un día ... Entonces creo que está bien y no estoy realmente seguro de siquiera mirar Facebook y lo que hicieron porque cuando lo hicieron, era un mundo completamente diferente y ahora intenta mantener esa infraestructura y mantenerla ... Bueno, obtienes cosas como HipHop.
Ahora, ¿cómo te va a ayudar HipHop? No lo hará. No puede Estás comenzando de nuevo, puedes usar PHP 5.3. Recomiendo encarecidamente examinar los marcos PHP 5.3 y todos los nuevos beneficios que PHP 5.3 trae a la mesa junto con las bibliotecas SPL y también pensar en su base de datos. Lo más probable es que esté sirviendo contenido de una base de datos, así que revise MongoDB y otros tipos de bases de datos sin esquemas y orientados a documentos. Son mucho más rápidos y mejores para el tipo de sitio web / aplicación más "común".
Mire NUEVAS compañías como Foursquare y Smugmug y algunas otras compañías que están utilizando NUEVA tecnología y CÓMO la están utilizando. Por más exitoso que sea Facebook, honestamente no los vería "cómo" construir un sitio web / aplicación eficiente. No digo que no tengan personas muy (muy) talentosas que trabajen allí que resuelvan (sus) problemas de manera creativa ... Tampoco digo que Facebook no sea una gran idea en general y que no lo sea. exitoso y que no deberías obtener ideas de él ... Solo digo que si pudieras ver su código fuente completo, probablemente no te beneficiarías.