Нет, я не говорю о брейк-дансе, который волшебным образом даст вам дополнительную производительность PHP. Я имею в виду, скорее, новый проект с открытым исходным кодом, объявленный Facebook. HipHop — это «преобразователь исходного кода», предназначенный для сокращения использования процессора и памяти путем преобразования вашего кода PHP в код C ++.
Чтобы понять, почему это помогает, вам нужно немного узнать о том, как работает PHP. PHP — это язык сценариев, такой как Ruby, Python и Perl. Это очень важно для производительности разработчиков, так как нет необходимости компилировать код. Компромисс для этой гибкости заключается в производительности: язык сценариев требует больше ресурсов процессора и памяти, чем скомпилированный язык, такой как C ++. Что делает HipHop — это преобразовывает ваш PHP-код в настоящий код C ++, который затем может быть скомпилирован в машинный код. Это не та вещь, которую вы бы делали при разработке, но когда вы развертываете свою работу, вы можете скомпилировать ее в превосходный код C ++.
Повышение производительности хип-хопа:
- Интернет — на 50% меньше загрузка процессора при том же трафике
- API — использование процессора на 30% меньше при удвоении трафика
Повышение производительности, которое видел Facebook, основано на его собственном реальном опыте: более 90% серверов Facebook были преобразованы в код HipHop за последние шесть месяцев. Полученные выгоды были разделены на две категории: веб-уровень и API-уровень, и преимущества были подтверждены для каждой из них. Веб-уровень уменьшил нагрузку на сервер на 50% при том же количестве подключений, а уровень API снизился на 30% даже при двукратном увеличении трафика. Различие объясняется тем, что веб-уровень требует больше логики представления и более абстрактной информации (связанной информации), чем уровень API. мегапопулярные фильмы
В чем подвох?
Вам придется избегать нескольких функций PHP, таких как eval()
create_function()
Из-за динамического характера этих функций команда HipHop не смогла преобразовать их в код C ++; однако эти функции редко используются в большинстве приложений PHP в целом.
В настоящее время ваш код HipHop должен проходить через специально написанный HTTP-сервер в комплекте с HipHop; однако использование кода HipHop с Apache занимает важное место в путях разработки.
Хотя HipHop повысит производительность вашего PHP-кода, он не обязательно станет серебряной пулей для ваших проблем с производительностью; Например, если ваше узкое место в производительности вашей базы данных, HipHop не сможет вам помочь. Не нужно беспокоиться о том, что это замедлит ваш код, поскольку вся среда выполнения PHP эмулирована таким образом, что даже самый сложный код будет работать с той же скоростью, что и чистый код PHP.
Где я могу найти его?
HipHop будет выпущен очень скоро сообществу разработчиков открытого кода, но пока вы можете прочитать полный текст статьи в блоге Facebook или просмотреть презентацию Facebook .
Как вы думаете?
Мне интересно сделать несколько тестов и посмотреть, как HipHop работает с базой кодов SitePoint. Как вы думаете, вы будете проверять, когда он выйдет?