Facebook изначально содержал много страниц, созданных на PHP. Однако по мере роста социальной сети Цукерберг с коллегами столкнулся с ограничениями, которые накладывает производительность PHP. Работа над его совершенствованием силами сотрудников Facebook ведется уже не первый год.
Новейшее решение — виртуальная машина HipHop VM — позволяет увеличить производительность PHP вдвое. Оно базируется на давно опробованном принципе: преобразовании PHP в иной язык программирования. В решении Facebook PHP преобразуется в код С++. Это позволило практически удвоить производительность кода соцсети и снизить в два раза нагрузку на ее серверы. Кроме того, конвертация PHP в С++ упрощает процесс разработки и интеграции в Facebook сторонних приложений.
Однако у HipHop VM есть и недостатки. Для Facebook нельзя разрабатывать и тестировать PHP-код с использованием стандартных интерпретаторов. Как говорится в документации, HipHop поддерживает «большинство возможностей PHP 5.3», но далеко не все. Причем этот момент детально не документирован. Инженеры Facebook создали собственный интерпретатор HPHPi, но он оказался крайне медленным.