---
title: "HipHop for PHP #кодинг"
description: "Facebook выложит в OpenSource свой странный проект HipHop for PHP. Это преорбазователь кода на PHP в..."
author: "ArisGoodman"
published: "2010-02-03T17:51:58+00:00"
modified: "2010-02-03T17:51:58+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/hiphop-for-php-koding-29609"
markdown_url: "https://yvision.kz/post/hiphop-for-php-koding-29609/markdown"
site_name: "Yvision.kz"
---

# HipHop for PHP #кодинг

> Facebook выложит в OpenSource свой странный проект HipHop for PHP. Это преорбазователь кода на PHP в...

![HipHop for PHP #кодинг](https://storage.yvision.kz/images/user/arisgoodman/uyP297FW1639OsuZ36T0Mna1VET8KW.jpg)

Facebook выложит в OpenSource свой странный проект HipHop for PHP. Это преорбазователь кода на PHP в хорошо оптимизированный С++, используя статистические методы анализа исходного кода. Как результат в среднем 50% уменьшение нагрузки на CPU серверов за показ. К этому моменту где-то 90% показов страниц Facebook происходят с переделанного PHP. [http://developers.facebook.com/news.php?tab=blog](http://developers.facebook.com/news.php?tab=blog) [http://github.com/facebook/hiphop-php/](http://github.com/facebook/hiphop-php/)

Разработчики социальной сети Facebook представили проект "HipHop" - новый открытый транслятор для языка PHP, распространяемый в рамках свободной лицензии PHP. HipHop трансформирует код PHP скриптов в высоко оптимизированное представление на языке C++, пригодное для дальнейшей компиляции при помощи g++ в машинные инструкции. В настоящее время HipHop используется для обработки около 90% запросов в сети Facebook.

В состав пакета входит транслятор кода, переработанный PHP runtime и набор переписанных с целью повышения производительность стандартных библиотек и расширений. По заявлению разработчиков использование HipHop позволяет уменьшить нагрузку на CPU примерно на 50%. Обратной стороной высокой производительности является принципиальное отсутствие поддержки некоторых PHP конструкций, таких как eval(). HipHop содержит более 300 тыс. строк кода и 5 тыс. unit-тестов, загрузить исходные тексты транслятора можно будет через несколько часов с сервиса GitHub.

Проект создан как универсальная альтернатива традиционному в больших проектах способу оптимизации - переписыванию наиболее ресурсоемких участков PHP кода на языке C/C++ и оформления таких блоков в виде PHP расширений. Перед созданием HipHop в Facebook были предприняты и другие методы оптимизации, например, был переписан код Zend Engine и патчи переданы проекту PHP, но результат подобной оптимизации оказался не таким большим как хотелось бы. Zend Engine преобразует исходные тексты на языке PHP в опкод, который затем выполняется на виртуальной машине Zend. Проекты подобные APC и eAccelerator кешируют сгенерированный опкод, а Zend Server кроме кеширования добавляет в опкод некоторые дополнительные оптимизации.

Из других подобных проектов отмечены компиляторы phc и Roadsend, преобразующие PHP код в представление на языке Си, Quercus - транслятор PHP в Java и проект Phalanger, преобразующий PHP код в .Net.

http://www.techcrunch.com/2010/02/02/facebook-hiphop-presentation/

---

Source: [https://yvision.kz/post/hiphop-for-php-koding-29609](https://yvision.kz/post/hiphop-for-php-koding-29609)