воскресенье, 11 августа 2013 г.

Facebook создаст виртуальную машину для PHP

Социальный гигант Facebook продолжает работу над ускорением языка веб-программирования PHP. Компания разработала виртуальную машину для PHP, которая, по их словам, способна выполнять инструкции в девять раз быстрее.
"Наша цель - сделать PHP действительно быстрым", - заявил менеджер по разработке Facebook Джоэль Побар.
С начала года Facebook использовала виртуальную машину HHVM (HipHop Virtual Machine) на своих серверах.

HHVM - не первый трюк для повышения производительности PHP. Отметим, что PHP представляет собой интерпретируемый язык, то есть, исходный код не выполняется напрямую процессором компьютера. Facebook осталась верной PHP, потому что он понятен многим веб-программистам компании.


Чтобы удовлетворить ненасытный пользовательский спрос, Facebook создала компилятор HipHop, который транслирует код PHP в C++, чтобы тот выполнялся процессором быстрее.

Несмотря на значительный рост производительности первой версии HipHop, компания Facebook искала новые способы ускорить загрузку динамических веб-страниц.
"Наша стратегия теряла свою эффективность", - признался Побар.
HHVM - следующий шаг для Facebook. HHVM разрабатывался три года и работает по такому же принципу, что и виртуальная машина Java. У HHVM есть just-in-time (JIT) компилятор, по необходимости конвертирующий человекочитаемый исходный код в байт-код. (Предыдущий инструмент HipHop - известный как HPHPc - в Facebook больше не используется).

JIT позволяет виртуальной машине "принимать более умные решения", - делится Побар. К примеру, если происходит вызов базы данных MySQL для чтения строки данных, HHVM на лету определяет, какой тип данных вызывается (целочисленный или строка). После этого он генерирует или вызывает код, который наилучшим образом подходит для обработки конкретного типа данных.

HHVM оптимизирована для обработки крупных и интенсивно используемых баз PHP. По словам Побара, для стандартных веб-сайтов, например, хостинга Wordpress, повышение производительности будет примерно в пять раз больше.

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

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