<rmcreative>

RSS

Все заметки с тегами «PHP, HipHop, Optimization»

  1. 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().

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

    10 комментариев