Eh bien, Facebook a subi de nombreux changements et il n'a pas été conçu à l'origine pour être efficace. Il a été conçu pour faire son travail. Je n'ai absolument aucune idée de ce à quoi ressemble le code et vous ne trouverez probablement pas beaucoup d'informations à ce sujet (pour des raisons évidentes de sécurité et de droits d'auteur), mais jetez simplement un œil à l'API. Regardez à quelle fréquence cela change et dans quelle mesure cela ne fonctionne plus correctement, ou pas du tout.
Je pense que le plus grand atout dans leur manche est le Hiphop.
http://developers.facebook.com/blog/post/358
Vous pouvez utiliser HipHop vous-même:
https://github.com/facebook/hiphop-php/wiki
Mais si vous me demandez, c'est une tâche très ambitieuse et probablement une perte de temps. Hiphop ne prend en charge que tellement, il ne peut pas simplement tout convertir en C ++. Alors qu'est-ce que cela nous dit? Eh bien, cela nous dit que Facebook ne profite PAS pleinement du langage PHP. Il n'utilise pas la dernière version 5.3 et je suis prêt à parier qu'il y a encore beaucoup de choses compatibles avec PHP 4. Sinon, ils ne pourraient pas utiliser HipHop. HipHop EST UNE BONNE IDÉE et doit se développer et se développer, mais dans son état actuel, il n'est pas vraiment utile pour autant de personnes qui créent de NOUVELLES applications PHP.
Il y a aussi PHP vers JAVA via des choses comme Resin / Quercus. Encore une fois, cela ne supporte pas tout ...
Une autre chose à noter est que si vous utilisez un module PHP non standard, vous ne pourrez pas non plus convertir ce code en C ++ ou Java. Cependant ... Jetons un œil aux modules PHP. Ils sont compilés en C ++. Donc, si vous pouvez créer des modules PHP qui font des choses (comme analyser XML, etc.) alors vous travaillez essentiellement (moins une interaction) à la même vitesse. Bien sûr, vous ne pouvez pas simplement créer un module PHP pour tous les besoins possibles et l'ensemble de votre application, car vous auriez à recompiler et ce serait beaucoup plus difficile à coder, etc.
Cependant ... Il existe des modules PHP pratiques qui peuvent aider à résoudre les problèmes de vitesse. Bien qu'à la fin de la journée, nous ayons cette chose géniale connue sous le nom de "cloud" et avec elle, nous pouvons faire évoluer nos applications (PHP inclus) afin que cela ne compte plus autant. Le matériel devient de plus en plus bon marché. Amazon vient de baisser ses prix (encore une fois).
Donc, tant que vous codez votre application PHP autour de l'idée qu'elle devra être mise à l'échelle un jour ... Alors je pense que vous allez bien et je ne suis pas vraiment sûr que je regarderais même Facebook et ce qu'ils ont fait parce que quand ils l'ont fait, c'était un monde complètement différent et ils essayaient maintenant de maintenir cette infrastructure et de la maintenir ... Eh bien, vous obtenez des choses comme HipHop.
Maintenant, comment HipHop va-t-il vous aider? Ce ne sera pas le cas. Ça ne peut pas. Vous commencez à neuf, vous pouvez utiliser PHP 5.3. Je vous recommande vivement d'examiner les frameworks PHP 5.3 et tous les nouveaux avantages que PHP 5.3 apporte à la table avec les bibliothèques SPL et de penser également à votre base de données. Vous diffusez probablement du contenu à partir d'une base de données, alors consultez MongoDB et d'autres types de bases de données sans schéma et orientées document. Ils sont beaucoup plus rapides et meilleurs pour le type de site Web / application le plus "courant".
Regardez les NOUVELLES entreprises comme Foursquare et Smugmug et quelques autres entreprises qui utilisent la NOUVELLE technologie et COMMENT elles l'utilisent. Pour le succès de Facebook, honnêtement, je ne les regarderais pas pour savoir comment créer un site Web / une application efficace. Je ne dis pas qu'il n'y a pas de personnes très (très) talentueuses qui travaillent là-bas et qui résolvent (leurs) problèmes de manière créative ... Je ne dis pas non plus que Facebook n'est pas une bonne idée en général et que ce n'est pas réussie et que vous ne devriez pas en tirer d'idées ... Je dis simplement que si vous pouviez voir l'intégralité de leur code source, vous n'en bénéficieriez probablement pas.