• Главная
  • О нас
  • Статьи
  • Вакансии
  • Контакты

Facebook ускорил PHP в девять раз благодаря HipHop VM

29 Июль 2013 by Juds in PHP, Новости tags: HHVM, HipHop, HipHop VM, HPHPc, JVM, KPHP, PHP, social network, веб-разработка, высоконагруженные проекты

Компания Facebook продолжает работу по повышению производительности кода PHP. В 2010 году они выпустили компилятор HipHop (HPHPc), который транслировал PHP в C++, жертвуя некоторыми редко используемыми функциями PHP вроде eval(), но повышая производительность.

3d265a7e3bd76dbf08665cbc3963c969

С активной аудиторией в 1,1 млрд человек, Facebook крайне заинтересован в увеличении производительности веб-приложений. Поскольку многие программисты хорошо знакомы с PHP, компания решила не отказываться от этого «медленного» языка, а постараться максимально оптимизировать его. Кстати, так же делает и «Вконтакте» с недавно представленной технологией kPHP

Впрочем, прежний подход по трансляции кода PHP в C++ пришлось оставить. Вместо этого выпущены виртуальная машина, окружение и JIT-компилятор для PHP под названием HipHop VM for PHP или просто HHVM. Здесь речь идёт о повышении производительности в пять-девять раз.


В мае серверы Facebook почти полностью перешли с HPHPc на HHVM. На Github выложен исходный код виртуальной машины и уже готовые собранные пакеты для Ubuntu 12.04, Debian 7 (wheezy) и Centos 6.4. Скоро обещают добавить пакет для FreeBSD 9.

По словам представителя Facebook, который недавно выступал на конференции O’Reilly Open Source Conference (OSCON), для стандартного веб-сайта, например, на хостинге WordPress, повышение производительности будет небольшим: всего в пять раз. Другое дело, если речь идёт о большой кодовой базе PHP, именно для такой оптимизирована виртуальная машина HHVM, так что здесь возможен рост производительности в девять раз.

«Если вы возьмёте какой-то код PHP и запустите его на HipHop, то CPU не будет ограничивающим фактором производительности, — говорит Джоэл Побар (Joel Pobar), менеджер по разработке Facebook. — Скорее вы увидите, что система тратит больше времени на запросы к базе данных или общение с memcache».

HHVM работает по образцу JVM (Java Virtual Machine): JIT-компилятор транслирует исходный код в машинные коды, когда это нужно, и позволяет учитывать различные факторы при генерации машинного кода. Например, если там вызов к базе данных MySQL, то JIT-компилятор посмотрит, какой тип данных вызывается, и сгенерирует соответствующий код на лету.

Источник: habrahabr.ru

Google представляет Android 4.3
Дайджест интересных новостей и материалов из мира PHP (15.07.2013 — 28.07.2013)

Leave a Comment! Отменить ответ

You must be logged in to post a comment.
О Нас

Juds–компания по разработке программного обеспечения, разработке веб-проектов и мобильных приложений. Все предлагаемые нами решения индивидуальны и направлены на максимально точное удовлетворение потребностей наших партнеров. Мы находимся в постоянном поиске новых ярких решений. Главные критерии – актуальность применения и инновационность.

Статьи
  • Лучшее из мира PHP за 2013
  • Полезные функции Google Analytics
  • Что в SEO можно считать нормальным и работающим, а что – отжившим
  • 30 полезных для себя вещей
  • Дайджест интересных новостей и материалов из мира PHP (20 октября — 10 ноября 2013)
  • Cinema 4D: создаем плагин – объект
IT Юмор
Метки
Android Composer experience Game Design game development google HHVM it experience it юмор Laravel manager PHP unity3d Yii Zend Framework 2 Zephir Новости Обучение веб-разработка дайджест исследование подборка ссылки стартап тенденции
© 2014 Juds. Все права защищены.