Коротко, что такое 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
© Yaroslav Vorozhko for
Add to
Post tags:
Комментариев нет:
Отправить комментарий