HipHop для PHP - HipHop for PHP

HipHop для PHP
Разработчики)Facebook
изначальный выпуск2 февраля 2010 г.; 10 лет назад (2010-02-02)[1]
Окончательный релиз
Заменяется HHVM[2][3] / 2013; 7 лет назад (2013)
Репозиторий Отредактируйте это в Викиданных
Написано вC ++, C, PHP
ЛицензияЛицензия PHP
Интернет сайтgithub.com/ facebook/ хип-хоп-php Отредактируйте это в Викиданных

HipHop для PHP (HPHPc) прекращено PHP транспилятор создан Facebook. Используя HPHPc в качестве компилятор исходного кода, PHP-код переведен на C ++, скомпилированный в двоичный и работать как исполняемый файл, в отличие от обычного пути выполнения PHP кода, преобразующегося в коды операций и интерпретированный. HPHPc состоит в основном из C ++, C и исходные коды PHP, и это бесплатное программное обеспечение с открытым исходным кодом распространяется в рамках Лицензия PHP.

Первоначальной мотивацией HipHop была экономия ресурсов на серверах Facebook, учитывая большую кодовую базу PHP facebook.com. По мере развития HipHop стало понятно, что HipHop может существенно увеличить скорость работы PHP-приложений в целом. Увеличение пропускной способности создания веб-страниц до шести раз наблюдалось за Zend PHP.[4][5][6][7][8] Заявленная цель HPHPc заключалась в обеспечении высокого уровня совместимости с Zend PHP, где большинство программ PHP на основе Zend работают на HPHPc без изменений.[6] Исходный код HPHPc был открыт в начале 2010 года.[1]

В дополнение к HPHPc инженеры Facebook также создали «режим разработчика» HipHop (интерпретируемая версия механизма выполнения PHP, известная как HPHPi) и хип-хоп отладчик (известный как HPHPd). Эти дополнения позволяют разработчикам запускать PHP-код с помощью той же логики, что и HPHPc, при этом делая возможным интерактивную отладку PHP-кода путем определения часы, контрольные точки и т. д. Выполнение кода через HPHPi дает более низкую производительность по сравнению с HPHPc, но преимущества для разработчиков в то время стоили необходимости поддерживать эти два механизма выполнения для производства и разработки. HPHPi и HPHPd также были открыты в 2010 году.[1]

По многим оценкам, HPHPc выполнила свои задачи, особенно в рамках Facebook, поскольку позволила facebook.com работать намного быстрее при использовании меньшего количества ресурсов. Однако в начале 2013 года Facebook отказался от поддержки HPHPc в пользу Виртуальная машина HipHop (HHVM), который является вовремя (JIT) основанный на компиляции механизм выполнения для PHP, также разработанный Facebook.[2][9] Для этого было много причин; одним из них была сглаженная кривая HPHPc для дальнейшего повышения производительности. Кроме того, HPHPc не полностью поддерживает язык PHP, включая create_function () и eval () конструкции, и он включал в себя конкретный процесс развертывания, требующий больших затрат времени и ресурсов, который требовал, чтобы двоичный файл размером более 1 ГБ был скомпилирован и распространен на множество серверов в короткие сроки. Кроме того, параллельное обслуживание HPHPc и HPHPi (как это было необходимо для обеспечения согласованности производственной среды и среды разработки) становилось обременительным. Наконец, HPHPc не стал заменой Zend, требуя от внешних заказчиков полностью изменить свои процессы разработки и развертывания для использования HPHPc.[2]

Смотрите также

использованная литература

  1. ^ а б c Хайпин Чжао (02.02.2010). «HipHop для PHP: двигайтесь быстро». Facebook. Получено 2014-08-02.
  2. ^ а б c Дрю Пароски (29 ноября 2012). «Ускорение разработки на основе PHP с помощью HHVM». Facebook. Получено 2014-08-02.
  3. ^ Пол Тарджан (13.05.2013). «Вступление, выход на пенсию, тестирование и банкротство». hhvm.com. Получено 2014-08-02.
  4. ^ "Бумага OOPSLA '12". Получено 2013-05-23.
  5. ^ Гильерме Оттони (12 марта 2013 г.). «Компилятор HipHop для PHP». OOPSLA 2012. Получено 2013-05-23.
  6. ^ а б "Интервью FOSDEM 2013". Получено 2013-05-23.
  7. ^ «HipHop для PHP: эталонный тест». Архивировано из оригинал на 2011-05-16. Получено 2013-05-23.
  8. ^ «Drupal 7: HipHop для PHP против APC - тест». Архивировано из оригинал на 2011-05-19. Получено 2013-05-23.
  9. ^ «Объявление на GitHub об отказе от поддержки HPHPc». github.com. Facebook. 2013-02-19. Получено 2013-05-24.

внешние ссылки