PHP7 vs HHVM

php7 vs HHVM Многие PHP-разработчики задавались вопросом, почему нельзя использовать PHP не как динамический скриптовый язык, а как компилируемый, например как Java. Это ускорило бы выполнение кода в разы.

Для ускорение работы своей системы компания Facebook разработала инструмент под названием HipHop, который конвертирует PHP-код в код на С++. Это помогло увеличить производительность системы в 5-6 раз, и тем самым сократить расходы на серверы. Чтобы разширить возможности, был разработан аналог виртуальной машины, созданной на Java – HHVM (HipHop Virtual Machine), который использует JIT-технологию (Just-in-time compilation). На данный момент HHVM является прямым конкурентом PHP7 в вопросе производительности веб-серверов. Посмотреть данные о тестировании можно здесь .

Чтобы настроить HHVM с помощью средств создания рабочего окружения, нужно на сайте PuPHPet создать конфигурацию, при этом направив порт 80 (стандартный порт веб-сервера) на 8080, а порт 9000 (порт HHVM) на 9000. Для запуска архива, конечно, нужно иметь установленный VirtualBox и Vagrant .

Далее, чтобы использовать данный конфигурационный файл, его нужно распаковать и зайти в папку, созданную при распаковке. После этого нужно запустить Vagrant коммандой vagrant up, дождаться загрузки виртуальной машины, запуска и установки всех модулей и подключиться к запущенной машине командой vagrant ssh.

На сайте HHVM в разделе «Getting Started» сообщается, что нужно перейти в папку с сайтом на веб-сервере и вызвать команду touch .hhconfig, и затем можно использовать инструмент для проверки типов hh_client.

HHVM использует язык Hack, который имеет много преимуществ в сравнении с обычным PHP. Его можно сохранять в файлы с расширением .php, разница только в коде: вместо <?php ?> нужно писать <?hh ?> . К тому же, есть возможность использования Lambdas (лямбда выражения, как в Java8). Как и в Java, есть возможность использования generics, с помощью которых можно передавать в объект любые типы, а во время компиляции уже установится нужный тип.

Преимуществами HHVM являются увеличение скорости, а также то, что его разработала серйозная компания, которая обеспечивает поддержку и оптимизацию. Можно конвертировать PHP-код в Hack и наоборот, что очень удобно.

Если посмотреть на недостатки HHVM, то она не работает на 32bit-компьютерах, а также использует намного больше памяти, чем PHP7. Скорей всего, она не будет работать достаточно быстро и не покажет прироста производительности на компьютере с меньше чем 2 GB оперативной памяти.

Исходя из вышеприведенных фактов, на данный момент PHP7 – лучший выбор для серверов в плане скорости и производительности.

Блог "Глазами хостера" © 2005 - 2018 ABC Hosting Ltd dba Zzz.com.ua

Log in with your credentials

Forgot your details?