PHP, ZendOptimizer внутри

Paxan

Новичёк
PHP, ZendOptimizer внутри

Собственно меня интересует как работает внутри PHP и ZendOptimizer. К исходникам PHP не отсылать, там уже копаюсь не один день. ZendOptimizerа исходников нет ;-)

Что я хочу спросить? Насколько правильны мои выводы.
PHP:
Парсим файл, проверяем синтаксис, етс -> заполняем хеш таблицы с фукнциями и переменными, етс-> генерим опкоды -> проходим по опкодам выполняя их.

ZendOptimizer:
Парсим файл->распаковываем, получаем байт-код-> парсим байт-код -> заполняем хеш таблицы с фукнциями и переменными, etc-> превращаем байт-код в опкод-> проходим по опкодам выполняя их.
 

Paxan

Новичёк
SiMM
Видимо тем, что байт код обрабатывается zendoptimizerом и преобразует его в опкод php, вызывает zend_execute. Или байт-код, который генерирует zend encoder это и есть опкод для php?
 

SiMM

Новичок
> байт код обрабатывается zendoptimizerом и преобразует его в опкод php
А какой смысл в этой лишней операции?
PS: не претендую на истину, лишь пытаюсь мыслить логически. Думаю, более определённо смогут ответить люди, более приближённые к истине :)
 

Paxan

Новичёк
Автор оригинала: SiMM
> байт код обрабатывается zendoptimizerом и преобразует его в опкод php
А какой смысл в этой лишней операции?
PS: не претендую на истину, лишь пытаюсь мыслить логически. Думаю, более определённо смогут ответить люди, более приближённые к истине :)
[чушь]

PS: А кто эти "более приближённые к истине :) " люди? =)

-~{}~ 17.09.05 03:37:

Вообщем добрался я похоже до истины :) То, что генерит zendencoder является по сути дампом структур с фукнциями, переменными, опкодами, етс перед выполнением. optimizer это всё читает, заполняет соответствующие структуры, и пускает всю кухню выполнение.
 

Navarro

Новичок
Извините за офтоп, но у меня такой вопрос- кому-то удалось прикрутить оптимизатор под 5 фрю?
 

Paxan

Новичёк
Navarro
пиши в суппорт. и вообще - создай свою тему.

-~{}~ 18.09.05 22:00:

Товарищи "более приближённые к истине", ау.
 

Paxan

Новичёк
tony2001
Прекрасно ;-) Тогда буду постигать дзен в одиночестве.
 

Screjet

Новичок
ZendOptimizerа исходников нет
Но есть исходники eAccelerator'а. Принципы работы примерно одинаковы, за исключением отсутствия ускорителя в ZendOptimizer'е.

Отсебятина: ZendOptimizer в основном необходим для кодированных ZendEncoder'ом файлов. Оптимизации фактически не дает. Механизма кеширования (типа как в eAccelerator'е) нет. Т.е. по сути ZendDecoder :) Но принцип десериализации опкода из дешифрованного файла, совпадает с принципом десериализации кеш-файлов ускорителей.
 

Paxan

Новичёк
Screjet
Спасибо, гляну.

-~{}~ 18.09.05 23:17:

Оптимизации фактически не дает.
Ну как тебе сказать ;-) Оптимизация там есть. Как минимум сразу ненадо парсить файл; посчитаны хеши для названия функций,переменных; фулл оптимизация обрезает мёртвые ветки, т.е. те, которые никогда не выполнятся. Это так - что сразу в глаза бросилось.
 

tony2001

TeaM PHPClub
Paxan
это было еще к тому, насколько нужно принимать на веру то, что тебе тут говорят.
 

Paxan

Новичёк
tony2001
Ну вера-верой. Я просто искал тех, кто уже этим интересовался до меня, дабы не делать лишнюю работу.
 
Сверху