嗯,Facebook经历了许多变化,并且最初并不是为了提高效率而设计的。它旨在完成任务。我完全不知道代码是什么样子,并且您可能不会找到很多有关它的信息(出于明显的安全性和版权原因),而只是看一下API。查看它的更改频率,以及其中多少无法正常运行,不再正常运行或根本无法正常运行。
我认为最大的王牌是Hiphop。
http://developers.facebook.com/blog/post/358
您可以自己使用HipHop:https:
//github.com/facebook/hiphop-php/wiki
但是,如果您问我,这是一个非常雄心勃勃的工作,可能会浪费时间。Hiphop仅支持这么多,它不能简单地将所有内容都转换为C ++。那这告诉我们什么呢?好吧,它告诉我们Facebook没有充分利用PHP语言。它没有使用最新的5.3,我敢打赌,仍然有很多PHP 4兼容。否则,他们将无法使用HipHop。HipHop是一个很好的想法,需要成长和扩展,但是在目前的状态下,对于许多正在构建新PHP应用程序的人来说,它并没有真正的用处。
还有通过Resin / Quercus之类的PHP到JAVA的代码。同样,它不支持所有内容...
要注意的另一件事是,如果您使用任何非标准的PHP模块,那么您将也无法将该代码转换为C ++或Java。但是...让我们看一下PHP模块。它们是用C ++编译的。因此,如果您可以构建执行某些功能(例如解析XML等)的PHP模块,则基本上(以某种交互方式)工作的速度相同。当然,您不能仅仅为满足所有可能的需求和整个应用程序而制作一个PHP模块,因为您将不得不重新编译,并且编写代码等会更加困难。
但是...有一些方便的PHP模块可以帮助解决速度问题。尽管到了最后,我们拥有了一个很棒的东西,称为“云”,有了它,我们可以扩展应用程序(包括PHP),因此不再重要。硬件变得越来越便宜。亚马逊只是再次降低了价格。
因此,只要您围绕PHP应用程序进行编码,即需要一天的扩展时间……那么,我认为您还可以,而且我不确定我是否会看一下Facebook及其所做的事情,因为他们做到了,这是一个完全不同的世界,现在正试图保持该基础结构并对其进行维护……嗯,您会得到HipHop之类的东西。
现在,HipHop将如何帮助您?不会的 不行 您可以重新开始,可以使用PHP 5.3。我强烈建议您研究PHP 5.3框架以及PHP 5.3与SPL库一起带到表中的所有新好处,并且还要考虑您的数据库。您最有可能从数据库提供内容,因此请检查MongoDB和其他无模式且面向文档的数据库类型。对于大多数“常见”类型的网站/应用程序,它们的速度要快得多而且更好。
看一下像Foursquare和Smugmug这样的新公司,以及其他一些利用新技术的公司,以及它们如何使用它。老实说,尽管Facebook如此成功,但我不会考虑他们“如何”构建高效的网站/应用程序。我并不是说他们没有在那里工作的非常(非常)有才华的人能创造性地解决(他们的)问题……我不是在说Facebook在总体上不是一个好主意,并且不是成功,您不应该从中获得灵感。...我只是说,如果您可以查看他们的整个源代码,您可能不会从中受益。