Компания Facebook открыла код высокопроизводительного PHP транслятора

Long

Новичок
Компания Facebook открыла код высокопроизводительного PHP транслятора

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

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

http://www.opennet.ru/opennews/art.shtml?num=25268
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
интересно, а variable variable и динамические классы они тоже не поддерживают?
 

Adelf

Administrator
Команда форума
ну динамические классы можно сделать(в ссовременных языках есть), но это уже ухудшение производительности, ради которой все делалось.
Мне вот всякие autoload интересны :)
Кароч буду ждать обзоров. Самому пока лень щупать. Пока такое ощущение, что "пиши на PHP как на С++ и получишь профит"
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Хм, завтра покопаемся) Спасибо.
 

Krishna

Продался Java
По заявлению разработчиков использование HipHop позволяет уменьшить нагрузку на CPU примерно на 50%.
Имхо, оно того не стоит в большинстве случаев...
 

dimagolov

Новичок
Код:
Имхо, оно того не стоит в большинстве случаев...
кстати, такое решение послужит частичной заменой zend encoder-у, что тоже может быть интересным
 

LeoKee

Новичок
Компания Facebook открыла код высокопроизводительного PHP транслятора

А никто не работал с phc и Roadsend ? Есть какиенибудь отзывы?
 

korchasa

LIMB infected
Там пока мягко говоря не все расширения сконвертированы. Удвоение производительности это, конечно, хорошо, но со всякой магией я думаю еще меньше будет. Хотя попробовать надо, да.
 

Alexandre

PHPПенсионер
надо посмотреть что это такое и как оно может влезть в новый проект
интересны ограничения, ждем отзывов!
 

Alexandre

PHPПенсионер
Из больших недостатков - это поддержка только PHP 5.2 .
не многие еще перешли на пхп 5.3
да и не на долго это все, скоро сделают и 5.3.

думаю, что есть более крутые недостатки.

проще наверное написать на С++, чем извращаться с HipHop
сейчас достаточно адекватных библиотек
 

dimagolov

Новичок
кстати, про "удвоение". большой вопрос с чем сравнивать. если с mod_php без ничего это одно, если с php + акселераторы это уже другое. есть надежда, что перед тем, как взяться за подобное они уже исчерпали возможности оптимизации исполнения пхп иными средствами.

еще одно замечание. как я понял из обзоров, это не просто компилятор, но и полноценный http сервер, который может работать сам, без какого-либа front-end-а. с одной стороны это приятно, а с другой не позволит делать высоконадежные демоны на пхп, хотя, возможно, это можно будет и обойти.
 

fixxxer

К.О.
Партнер клуба
Высоконадежный демон не может реализовывать протокол http, ага. Апач, nginx и лайти нифига не надежные.

Хотя я практически уверен, что sapi там не зашито, а вкомпиляется по желанию.
 

dimagolov

Новичок
проще наверное написать на С++, чем извращаться с HipHop
спорный вопрос. это вопрос сохранения инвестиций. есть инвестиции в пхп код, в команду, которая его разрабатывает. очевидно, что возможность оптимизировать систему через подобный компилятор не требует новых инвестиций в портирование при сохранении старых, а бесплатность такого решения делает его просто идеальным для существующих крупных проектов на пхп. некоторой альтернативой может быть создание модулей пхп для расшития "бутылочных горлышек".

-~{}~ 03.02.10 12:32:

fixxxer, я имел в виду демоны, которым http не нужен.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Поизучал. =)

dimagolov, нет, он компилится или сli приложение, или в httpd
fixxxer, возможности вкомпилять sapi пока нету.

Самая реальная проблема - это НЕ работает со стандарными экстеншнами. Некоторую часть ФБ конечно уже подготовили для компиляции, но с другими - увы.

Самое интересное может получится, если кто нить перенесет на него php-gtk. Может получится интересный поворот событий.

мифическое "удвоение" получается большей частью за счет того, что полученный демон работает на базе libevent, экономя ресурсы.

Удивило - работают почти все динамические фичи, включая магические методы, переменные имена переменных и методов и т.п.

Не работает и работать не будет, ессно, eval()
 
Сверху