Ну, Facebook претерпел МНОГИЕ изменения, и изначально он не был разработан, чтобы быть эффективным. Он был разработан, чтобы делать свою работу. Я абсолютно не знаю, как выглядит код, и вы, вероятно, не найдете много информации о нем (по очевидным соображениям безопасности и авторского права), но просто взгляните на API. Посмотрите, как часто это меняется и сколько из этого не работает должным образом, больше или вообще.
Я думаю, что самый большой туз в их рукаве - хип-хоп.
http://developers.facebook.com/blog/post/358
Вы можете использовать HipHop самостоятельно:
https://github.com/facebook/hiphop-php/wiki
Но если вы спросите меня, это очень амбициозная и, вероятно, трата времени. Hiphop только поддерживает так много, он не может просто конвертировать все в C ++. Так что это говорит нам? Что ж, это говорит нам о том, что Facebook НЕ в полной мере использует язык PHP. Он не использует последнюю версию 5.3, и я готов поспорить, что многое еще совместимо с PHP 4. В противном случае они не могли бы использовать HipHop. Хип-хоп является хорошей идеей и должен расти и расширяться, но в его нынешнем состоянии он не очень полезен для многих людей, которые создают НОВЫЕ PHP-приложения.
Также есть PHP для JAVA через такие вещи, как Resin / Quercus. Опять же, это не все поддерживает ...
Следует также отметить, что если вы используете какой-либо нестандартный модуль PHP, вы также не сможете преобразовать этот код в C ++ или Java. Однако ... Давайте посмотрим на модули PHP. Они скомпилированы в C ++. Так что, если вы можете создавать модули PHP, которые делают что-то (например, синтаксический анализ XML и т. Д.), То вы в основном (без некоторого взаимодействия) работаете с той же скоростью. Конечно, вы не можете просто сделать модуль PHP для всех возможных нужд и всего вашего приложения, потому что вам придется перекомпилировать, и это будет намного сложнее для кода и т. Д.
Однако ... Есть несколько удобных модулей PHP, которые могут помочь с проблемами скорости. Хотя, в конце концов, у нас есть эта удивительная вещь, известная как «облако», и с ее помощью мы можем масштабировать наши приложения (включая PHP), чтобы это больше не имело значения. Аппаратное обеспечение становится все дешевле и дешевле. Amazon только что снизил свои цены (опять же), если говорить о.
Так что, пока вы кодируете свое PHP-приложение, основываясь на идее, что оно понадобится в один день ... Тогда я думаю, что у вас все хорошо, и я не совсем уверен, что даже посмотрю на Facebook и что они сделали, потому что когда они сделали это, это был совершенно другой мир, и теперь он пытается поддерживать эту инфраструктуру и поддерживать ее ... Ну, вы получаете такие вещи, как HipHop.
Теперь, как хип-хоп поможет вам? Не будет Не может Вы начинаете заново, вы можете использовать PHP 5.3. Я настоятельно рекомендую изучить фреймворки PHP 5.3 и все новые преимущества, которые PHP 5.3 приносит в таблицу вместе с библиотеками SPL, а также подумать о вашей базе данных. Скорее всего, вы обслуживаете контент из базы данных, поэтому проверьте MongoDB и другие типы баз данных, которые не содержат схем и ориентированы на документы. Они намного быстрее и лучше для самого «распространенного» типа веб-сайта / приложения.
Посмотрите на НОВЫЕ компании, такие как Foursquare и Smugmug, и некоторые другие компании, которые используют НОВУЮ технологию и КАК они ее используют. Несмотря на то, что Facebook настолько успешен, я, честно говоря, не стал бы рассматривать их как «как» создать эффективный веб-сайт / приложение. Я не говорю, что у них нет очень (очень) талантливых людей, которые там работают, которые творчески решают (свои) проблемы ... Я также не говорю, что Facebook вообще не очень хорошая идея и что это не так. успешный и что вы не должны получать идеи от этого .... Я просто говорю, что если бы вы могли просматривать весь их исходный код, вы, вероятно, не выиграете от этого.