Разработчики крупнейшей в мире социальной сети Facebook объявили о выпуске
под свободной лицензией специального средства для оптимизации кода, написанного
на языке PHP, — HipHop.
Потребность в оптимизации приложений для одного из популярнейших в мире
веб-сервисов весьма очевидна. Использование PHP накладывает определенные
ограничения на производительность, но в переходе на другой язык программирования
в Facebook не заинтересованы, поскольку именно PHP позволяет им быстрее находить
разработчиков и «шагать впереди планеты всей». Поэтому они решили оптимизировать
код PHP, в результате чего и появился проект HipHop, использование которого
позволило снизить нагрузку на серверы в среднем на 50%.
HipHop for PHP — это своеобразный «преобразователь исходного кода». Он
конвертирует PHP-код в оптимизированную версию на C++, а затем обращается к g++
для его компиляции. Для его реализации разработчикам пришлось отказаться от
некоторых редко используемых функций, таких как, например, eval(). Помимо
непосредственно преобразователя кода в состав HipHop входят новая реализация
среды исполнения PHP, а также ряд переписанных основных расширений к PHP (PHP
Extensions) — все это сделано для того, чтобы воспользоваться всеми
возможностями в оптимизации производительности.
В рамках проекта HipHop было написано более 300 тысяч строк кода и более 5
тысяч unit-тестов. Заявляется, что в итоге «HipHop позволяет сохранить все
лучшее от PHP и получить преимущества в производительности, предоставляемые C++».
Исходный код проекта будет опубликован в ближайшее время на GitHub под лицензией
PHP.