• В Беларуси
  • Наука
  • Интернет и связь
  • Гаджеты
  • Игры
  • Оружие
  • Архив новостей
    ПНВТСРЧТПТСБВС


Facebook представила новую PHP-платформу HipHopСоциальная сеть Facebook, как и ожидалось, представила новую программную платформу HipHop, способную значительно ускорить работу популярного языка веб-разработки PHP.
 
Хайпин Чжао, инженер по разработке HipHop говорит, что все скриптовые языки, к коим относится и PHP, и Ruby и Python и другие, значительно менее эффективны, чем бинарные, такие как С или C++, когда дело доходит до непосредственной работы компилятора и связки "процессор-память" на сервере. На сравнительно небольших проектах такая разница может быть незаметной, но вот когда проекту, такому как Facebook, приходится генерировать до 400 млрд страниц в месяц, это становится важным.

"Пока PHP был популярен из-за своей относительной простоты. Его легко изучать, на нем легко писать и просто отлаживать код. Нам удалось сделать также многое и для ускорения работы этого популярного в интернете веб-языка", – говорит Чжао.

По его словам, всего команда разработчиков трудилась над производительностью PHP в том или ином виде почти два года. Сейчас компания рада представить платформу HipHop которая позволит снять с процессора дополнительную нагрузку, освободить память и повысить скорость выполнения скрипов. "HipHop с технической точки зрения не является компилятором как таковым. Это, скорее, источник трансформации кода. HipHop программными методами трансформирует ваш код PHP в оптимизированный C++ и использует открытый компилятор G++ для его сборки. HipHop использует исходный код в той же семантической манере, что и C++", – говорит Чжао.

Новая среда выполнения PHP также изменяет работу и многих расширений PHP, чтобы и те могли использовать преимущества платформы.

В плане масштабирования инженерам Facebook также удалось достичь определенных результатов. Чжао говорит, что нынешние версии PHP устроены таким образом, что практически для каждого посетителя проекта компилятор открывает новую сессию на сервере. В случае с социальными сетями эта проблема становится довольно серьезной, учитывая объемы пользовательской базы и связи "многие-к-многим", поставленной в основу социальных сетей.

Чжао говорит, что когда сотни тысяч пользователей одновременно начинают сами начинают заходить в сети, открывать соединения с друзьями, те с другими и т.д., то количество работающих сессий на сервере может исчисляться миллионами. Для того, чтобы как-то сократить количество сессий в Facebook воспользовались подходами, реализованными в таких языках, как C++, Erlang и Java, где в рамках одной сессии можно создать множество потоков данных.



-10%
-51%
-30%
-30%
-10%
0066790