Разработчики крупнейшей в мире социальной сети 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.