Виртуальная машина Facebook HipHop для PHP?


Я просмотрел эту статью - Хип-хоп PHP (был Гипер PHP от Facebook)

Однако недавно я столкнулся с этим Facebook Ускоряет Разработку С Помощью "Виртуальной машины HipHop", На 60% Более Быстрого PHP-Исполнителя

У кого-нибудь есть подробности по этому поводу? Стоит ли это изучать разработчику PHP?

Author: Community, 2012-01-02

2 answers

Вы можете найти подробную информацию в статье, на которую вы ссылаетесь, в статье, на которую вы ссылаетесь:

Hphpc по сути является традиционным статическим компилятором, который преобразует PHP→AST→C++→x64. Мы уже давно остро осознаем ограничения статического анализа, налагаемые таким динамичным языком, как PHP, не говоря уже о рисках, присущих разработке программного обеспечения с использованием hphpi и развертывание с помощью hphpc. Наш опыт работы с hphpc привел нас к тому, что мы начали экспериментировать с динамическим переводом в собственный машинный код, также известный как компиляция точно в срок (JIT). Динамический переводчик может наблюдать типы данных во время выполнения программы и генерировать машинный код, специализированный по типу.

Машинный код, специализирующийся на типах, выполняется быстрее. Если вы не размером с FB, вам это не нужно. Используйте APC или memcached и более традиционные подходы к масштабированию.

 2
Author: Gordon, 2012-01-02 08:14:44

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

Я бы предложил подождать несколько недель или даже месяцев, прежде чем изучать HPHPVM. Это выглядит многообещающе, но все еще находится на очень ранних стадиях в том, что касается оптимизации и исправления ошибок. В долгосрочной перспективе это, вероятно, станет отличной альтернативой Zend, но сейчас относительно небольшой прирост производительности (по сравнению, скажем, с полным переведенным/скомпилированным хип-хопом), вероятно, не стоит дополнительной сложности. Тем не менее, проверьте еще раз через несколько месяцев.

 1
Author: Elliott, 2012-02-23 07:46:07