<rmcreative>

RSS

HipHop

3 февраля 2010

Facebook, как вы уже могли слышать, выпустил транслятор PHP в код C++, названный HipHop.

Отмечу основные моменты

  • Бесплатный, открытый исходный код.

  • HipHop уже используется в Facebook по полной программе.

  • PHP → С++ → GCC → бинарник. Делать это надо каждый раз при развёртывании кода.

  • Бинарник может работать как сервер (libevent), а также запускаться из командной строки.

  • Веб сервер = один процесс, много потоков.

  • Не использует Zend Engine. Использует написанный на C++ почти совместимый с PHP 5.2 фреймворк.

  • Используются расширения на C++ (стандартные написаны C). Сейчас доступны те, что использует Facebook. Остальные будьте готовы переписывать сами. Все расширения на C++ thread-safe.

  • Некоторые магические методы поддерживаются, но не работают быстрее.

Не поддерживаются

  • Windows.

  • PHP 5.3 (поддержка планируется).

  • eval().

  • create_function()

  • preg_replace с модификатором /e.

  • function_exists() до объявления функции.

Поддерживаемый динамический функционал

  • Динамический вызов функций, в том числе call_user_func().

  • Динамические методы и свойства объектов.

  • Динамические переменные, extract().

  • Динамический include().

  • Переопределение функций, классов, констант.

  • __toString(), __get(), __set(), __call().

Источники информации:

Комментарии RSS

  1. №2222
    Mike TUMS
    Mike TUMS 03.02.2010, 16:38:51

    Вообще дико интересно. Интересует сравнение производительности, например - "чистый" вордпресс vs "хипхопнутый".

  2. №2223
    xoma
    xoma 03.02.2010, 16:43:43

    А мне вот интересно....на хабре сделали предположение, что ни один из фреймворковцмс под этой штукой не заведется..

    Так ли это ?

  3. №2224
    Sam
    Sam 03.02.2010, 16:50:31

    Пример не пройдёт. Wordpress не заведётся, как и Drupal — там eval активно используется.

  4. №2225
    Sam
    Sam 03.02.2010, 16:51:45

    xoma

    CMS популярные могут не завестись. Более-менее новые фреймворки — скорее всего заведутся.

  5. №2226
    Sam
    Sam 03.02.2010, 16:55:50

    Проверил. Yii точно не заведётся.

  6. №2227
    Костег
    Костег 03.02.2010, 20:43:22

    Если б скрипты в extensions компилировались бы)) Я бы так некоторые либы из ZF и Twig конвертнул.

  7. №2230
    Чистяков Денис
    Чистяков Денис 04.02.2010, 13:48:59

    Спасибо за как всегда оперативный и подробный анонс.

    Интересно будет почитать мысли Ильи Альшанецкого по этом поводу, спасибо за линк.

  8. №2231
    Алексей
    Алексей 04.02.2010, 14:08:48

    А как исходники получить? с [http://developers.facebook.com/hiphop-php/](Исходный код) перебрасывает на главную гитхаба...

  9. №2232
    Sam
    Sam 05.02.2010, 13:47:38

    Да, что-то, похоже, убрали их.

  10. №4409
    Alexander
    Alexander 17.04.2011, 6:10:57

    https://github.com/facebook/hiphop-php По ссылке уже редиректит вот сюда

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.