Phalcon Zephir против APC против HHVM Performance

Я начал читать о HHVM и Zephir. Сначала я был очень взволнован тем, что благодаря этой технологии производительность растет.
Но потом я начал задавать себе вопрос. Если это действительно дает вам такую ​​производительность, как говорят владельцы этих технологий.

Теперь я собираюсь сказать, как я думаю, что это выглядит. Поправь меня, если я не прав.

Скрипт Php Live Процесс:
Выполнить скрипт -> Компилировать -> Выполнить скрипт

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

Давайте представим, что у меня установлен Apache2, и я запускаю свой php-скрипт с именем «test.php» с:

APC:
APC включен и опция APC для проверки изменений отключена.
Это должно выглядеть так:
Запустить скрипт -> Выполнить скрипт
Потому что он уже скомпилирован в нашу память и готов к использованию.

HHVM:
Виртуальная машина хип-хопа будет вести себя подобно APC. Разница здесь в том, что виртуальной машиной, которая для стандартного PHP с APC является Zend Engine.
Так и происходит так:
Запустить скрипт -> Выполнить скрипт
Потому что он уже скомпилирован (в памяти?) И готов к использованию.

Зефир:
Я скомпилировал свой скрипт на расширение C. Итак, я думаю, что это не нужно компилировать? (Я не уверен в этом). Так что функции внутри моего php-скрипта теперь являются нативными.
Итак, если я напишу другой скрипт с именем «test2.php», который будет запускать мои собственные функции, которые были в «test.php» (да, он должен иметь формат .zep, но пока это не имеет значения).
Теперь, используя APC, я избегаю процесса компиляции.
Запустить скрипт -> Выполнить скрипт

И теперь я в замешательстве. Насколько вы можете видеть, теперь все по-прежнему. Я не вижу никаких преимуществ использования Zephir и HHVM по сравнению со стандартным APC.
Так что я хотел бы услышать, если я прав или совершенно не прав?

5

Решение

Zephir не может обрабатывать высокоуровневый объектно-ориентированный код. Скорость вашего приложения будет хуже, чем чистый путь PHP.

Здесь вы можете найти сравнение чистого PHP против Zephir.
https://github.com/dgafka/zephir-BookStore

Итак, если вы хотите переписать ваше приложение на zephir, подумайте дважды, прежде чем вы это сделаете.

https://github.com/phalcon/zephir/issues/694#issuecomment-67987616

2

Другие решения

Zephir довольно быстрый (конечно, так как он компилируется в расширение C)! https://www.simonholywell.com/static/files/2014-02-28/index.html

Хак тоже довольно быстрый, меньше, чем Зефир, но с другой стороны, он гораздо более зрелый / активный / задокументированный, чем Зефир.

Основным преимуществом использования Zephir / Hack является то, что вы получаете статическую типизацию в качестве бонуса. Очень приятно добавить такую ​​защиту в код PHP.

Динамическая типизация имеет свои пределы и допускает слишком много уродливых / опасных вещей.

0

Используйте Zephir для абстрактного функционального кодирования.

Например, библиотека функций, которые делают строковые форматы, специфичные для вашего проекта. Все продвижение PHP ООП (бизнес-логика) и тому подобное должно быть сделано в PHP.

Просто как тот!

Используйте инструмент, соответствующий проекту.

0
По вопросам рекламы [email protected]