Преимущества виртуальной машины Zend - PullRequest
2 голосов
/ 28 августа 2010

Я пытался понять работу Zend с помощью этой превосходной статьи . Это когда я узнал, что Zend Engine - это виртуальная машина.

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

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

Ответы [ 2 ]

1 голос
/ 28 августа 2010

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

0 голосов
/ 28 августа 2010

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

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

...