пятница, 5 февраля 2010 г.

Ускоряем PHP с HipHop

Сегодня Facebook анонсировал релиз HipHop.


Коротко, что такое HipHop для PHP:



  • HipHop – это компилятор кода PHP в C++. Т.е. он преобразует PHP код в C++ код для дальнейшей компиляции. Это не другой язык. И это не компилятор времени исполнения (JIT).

  • HipHop будет выпущен Facebook под opensource лицензией, под такой же как и основной код PHP. Facebook возлагает надежды, что разработчики улучшать HipHop и расширят его функциональность, таким образом HipHop сможет заменить больший набор функций PHP.

  • HipHop был одним из проектов в Facebook по улучшению его производительности. Все таки Facebook, второй сайт по объему траффика в интерент и в основном построенный на PHP. HipHop запущен на большинстве LAMP PHP серверах Facebook и в среднем улучшил производительность этих серверов в два раза.

  • HipHop достигает этого, путем исследования вашего PHP приложения и на его основе строить C++ проект. C++ проект потом компилируется и запускается на собственном веб серврере. Это дает возможность исключить PHP Zend engine и Apache из цепочки.

  • Учитывая что, некоторые возможности PHP не поддерживаются. Также, дополнения к PHP написанные на C, должны быть переписаны в HipHop C++ дополнения.

  • Преимущества в скороости HipHop достигаются благодаря статическому анализу, который парсит ваш PHP код ищя пути преобразования динамических частей в статические.

    Учитывая это, ваше улучшение производительности, может сильно варьроваться – более структурированный код получить наибольший прирост в производительности.


Что значит HipHop для вас:



  • Если ваш проект использует sharing хостинг – то ничего.

  • Если ваш проект использует 2 или менее серверов – то ничего.

  • Если у вас нет выделенного development и deployment окружения и у вас нет разработчика знающего C++ – то ничего.

  • Если вы разработчик open source приложения – то немного.

  • Если вы shared хостинг компания – то немного.

  • Если PHP не bottleneck вашего приложения – то пока еще ничего.

  • Если ваше приложения использует много серверов, и в основном на них работает PHP, а также у вас есть все исходники PHP кода, у вас есть немного знаний C/C++, тогджа ответ возможно.

  • Если вы разрабатываете php framework, то ответ иногда.

  • Если у вас есть сильно-связанные части архитектуры, которые удовлетворяют требованиям выше и эти части слабо связаны (через API) с остальной системой, то ответ много что.

  • Если вы обдумываете какой язык выбрать для реализации вашей системы, то ответ очень много.

  • Если вы обдумываете аргумент, переписать весь сайт на другой язык, то вы потеряли свой аргумент.


Есть очень много языковы возможностей, хороших или плохих, которые PHP должен поддерживать, а HipHop нет. Потому как HipHop уникальное решение, он никгода не заменит Zend Engine.


Статья является частичным переводом статьи Terry Chay Faster PHP fo shizzle—HipHop for PHP




© Yaroslav Vorozhko for Просто про веб технологии, 2010. |
Permalink |
No comment |
Add to
del.icio.us


Post tags: C plus plus, Facebook, HipHop, Performance, PHP, Zend Engine

Комментариев нет:

Отправить комментарий