2010-08-28 4 views
2

Я пытался понять работу Zend с помощью this excellent article. Когда я узнал, что Zend Engine является виртуальной машиной.Преимущества виртуальной машины Zend

Теперь мой вопрос заключается в том, что является преимуществом создания промежуточного кода для языков сценариев, таких как php?

Я могу понять, что наличие промежуточного кода в случае языков программирования, таких как Java и CSharp, обеспечит переносимость на разных платформах, таких как Linux и Windows.

ответ

1

Быстро исполнять байт-код, чем интерпретировать исходный код. Этот байт-код может быть кэширован (это делается с помощью ускорителей PHP), что дает повышение производительности до 20 раз.

+0

В статье утверждается, что она вводит гибкость в php. Любые комментарии по этому поводу? –

+0

Претензия объясняется в тексте следующего содержания: «Виртуальная виртуальная машина обеспечивает гибкость для PHP». И это сводится к тому, что «виртуальная машина всегда медленнее, чем физическая машина, на которой она работает, поэтому дополнительная скорость достигается за счет выполнения сложных команд как одной операции с виртуальной машиной». – VolkerK

+0

Мой вопрос в том, как он обеспечивает гибкость? «VM всегда медленнее, чем физическая машина, на которой она работает, поэтому дополнительная скорость достигается за счет выполнения сложных команд как одной операции с виртуальной машиной». Я не понимаю, кто это отвечает на мой вопрос о гибкости! –

-3

Термин VM в статье совершенно неправильный. На самом деле он описывает, что PHP компилирует скрипты в байт-код, и этот байт-код будет интерпретироваться, внутри PHP существует НЕТ vm.

Операции байткода (код операции) являются только эффективным представлением php-скрипта для запуска операторов один за другим и сохранения результатов правильно. Посмотрите на «Абстрактное синтаксическое дерево», чтобы полностью понять байт-код и их преимущество для каждого языка.

+0

-1, PHP Zend Engine - это виртуальная машина, по крайней мере ее авторы считают так :) – mlvljr

+0

Программа, выполняющая байт-код, называется виртуальной машиной. ;) – Jesse

Смежные вопросы