Разработчики языка программирования PHP приняли решение (http://marc.info/?l=php-internals&m=136267494731183&w=2) включить в состав готовящейся к выпуску ветки PHP 5.5 системы кэширования и оптимизации байткода Zend Optimizer+ (https://github.com/zend-dev/ZendOptimizerPlus/), ранее поставляемого в составе проприетарного пакета Zend Server, но недавно переведённой (http://www.opennet.me/opennews/art.shtml?num=36115) компанией Zend Technologies разряд свободных проектов.
За включение Zend Optimizer+ состав PHP (в общем виде, без привязки к версии) проголосовало 66 из 77 участников проекта с правом голоса. При рассмотрении включения новой системы в находящуюся в разработке ветку PHP 5.5 проголосовало 44 участника из 77, с учётом того, что добавление Zend Optimizer+ вероятно приведёт к задержке выпуска релиза PHP 5.5 на один или два месяца из-за необходимости дополнительного тестирования.Изначально ожидалось, что в состав PHP будет включён код конкурирующей свободной системы APC (Alternative PHP Cache), но из-за наличия нерешённых проблем с кэшированием и использовании памяти, качество работы APC в ветке PHP 5.4 оценивалось как недостаточно стабильное. Открытие кода Zend Optimizer+, в котором было заявлено о полноценной стабильной поддержке веток совместим с ветками PHP 5.2.*, 5.3.*, 5.4.* и PHP 5.5-dev, в сочетании с более высокой производительностью, определило конечный выбор претендента на звание штатной системы кэширования опкода PHP.
Zend Optimizer+ предоставляет средства для ускорения выполнения скриптов на языке PHP за счёт использования техники кэширования опкода и применения дополнительных оптимизаций. Предкомпилированный код скриптов кэшируется в разделяемой памяти, что позволяет избежать выполнения стадий чтения с диска, разбора и компиляции исходного кода скриптов при их повторном запуске. Кроме того, Zend Optimizer+ включает дополнительные методы оптимизации при генерации байткода, что позволяет достичь ускорения и за счёт более быстрого выполнения байткода.
С точки зрения производительности, то по проведённым тестам (https://docs.google.com/spreadsheet/ccc?key=0Agw0hgqCxf0cdEZ...) Zend Optimizer+ в среднем на 5-20% выигрывает по производительности у APC, а также обеспечивает лучшую совместимость с различными ветками и возможностями языка PHP, содержит средства для выявления повреждения данных (например, из-за некорректно написанной PHP-функции на языке C). Из преимуществ APC упоминается поддержка API для управления кэшированием данных и возможность возвращения памяти, которая использовалась для кэширования давно не запускаемых скриптов.URL: http://marc.info/?l=php-internals&m=136267494731183&w=2
Новость: http://www.opennet.me/opennews/art.shtml?num=36360
> включить в состав готовящейся к выпуску ветки PHP 5.5 системы кэширования и оптимизации байткодаШёл 2013-ый год. Интересно, когда там появится JIT?
Это почти JIT...
Это - не JIT.
ты открыл мне глаз, один, второй из-за шока отвалился...
для полноты картины надо было еще ссылку на вики дать...
> Это почти JIT...Ага, всего-то только и не хватает компиляции в натив.
hiphop-php?
Одновременно с Ruby :)
А зачем в спецификации языка JIT? Если же под Ruby имелась в виду референсная реализация MRI, то не им единым. В JRuby и Rubinius есть JIT. Первый вполне себе ничего, про второй ничего сказать не могу.
А зачем там jit, если большинство скриптов отстреливают и мрут?
Тем более, что время передачи данных по сети всё равно не сопоставимо с временем компиляции любого скрипта.
> с временем компиляции любого скрипта.Дык можно предкомпилированный пинать. Приколитесь, какая новость?
Для этого JIT не нужен
> Для этого JIT не нуженСпасибо, Капитан!
странные какие числа: 44,66,77 человек
5.5
клавиши залипают. на самом деле пхп пилят 7 человек.
я слышал там еще нужен zend decompiler?
это оно и есть плюс оптимизатор
Вообще порт работы Zend под FreeBSD уже давно закрыт, несколько лет назад компания Zend заявила, что не будет больше поставлять его для FreeBSD. Я говорю о ZendOptimizer, но сейчас его называют Zend Guard Loader так что на FreeBSD уже давно нельзя его запустить. Что же касается ZendOptimizer+ может на FreeBSD он вообще и не нужен, есть и другие альтернативы, которые куда быстрее ZendOptimizer+.
Да и Zend уже мало кто кодирует скрипты, так как появились альтернативные продукты с похожим функционалом
А что за альтернативы то такие? Шибко секретные, видно, раз про них никто ни слухом ни духом.Упоминаемый порт ZendOptimizer-а и портом назвать сложно, это была обертка для установки скомпиленной компанией Zend либы, и закрыт он был, собственно, потому, что Zend-овцы перестали делать FreeBSD сборки. В то время как сорцы ZendOptimizer+ открыты, и без проблем собираются под фрей, так что организовать порт для ZendOptimizer+ вообще не вопрос.
на вскидку ioncube
Вы не путаете ZendOptimizer+ с ZendOptimizer? IonCube является альтернативой второму, да, но речь то шла про первый. Мало того, речь шла об "альтернативах, которые куда быстрее". Может, это про C? )
hiphop-php
xcache ?
> Вообще порт работы Zend под FreeBSD уже давно закрыт, несколько лет назад
> компания Zend заявила, что не будет больше поставлять его для FreeBSD.
> Я говорю о ZendOptimizer, но сейчас его называют Zend Guard Loader
> так что на FreeBSD уже давно нельзя его запустить. Что же
> касается ZendOptimizer+ может на FreeBSD он вообще и не нужен, есть
> и другие альтернативы, которые куда быстрее ZendOptimizer+.Есть такой /usr/ports/www/pecl-zendoptimizerplus правда с php-fpm в корку падает ...
Ну так скиньте bt корки на https://github.com/zend-dev/ZendOptimizerPlus, вам корки жалко?
> Вообще порт работы Zend под FreeBSD уже давно закрыт,Бедные бздельники. Вафля у них полудохлая, GPU половина не работает, пых и то какие-то проблемы вызывает. Но орать о преимуществах все это не мешает :)
>> Вообще порт работы Zend под FreeBSD уже давно закрыт,
> Бедные бздельники. Вафля у них полудохлая, GPU половина не работает, пых и
> то какие-то проблемы вызывает. Но орать о преимуществах все это не
> мешает :)А какие именно проблемы кеп не разобрался ?
18:38>make search name=zendoptimizerplus
Port: pecl-zendoptimizerplus-7.0.0
Path: /usr/ports/www/pecl-zendoptimizerplus
Info: Opcode cacher and optimizer for PHP
Maint: ale@FreeBSD.org
B-deps: autoconf-2.69 autoconf-wrapper-20101119 libiconv-1.14 libxml2-2.7.8_5 m4-1.4.16_1,1 pcre-8.32 perl-5.14.2_3 php5-5.4.12 pkgconf-0.8.12
R-deps: libiconv-1.14 libxml2-2.7.8_5 pcre-8.32 php5-5.4.12 pkgconf-0.8.12
WWW: https://github.com/zend-dev/ZendOptimizerPlus
ZendOptimizer с закрытым кодом поддерживал выполнение скриптов закодированных с помощью ZendGuard, а эта версия?
нетZO+ это акселератор из zend server + набор оптимизаций байткода из ZO
> нет
> ZO+ это акселератор из zend server + набор оптимизаций байткода из ZOДа он действительно не совместим с /usr/ports/www/pecl-APC :))
Неудивительно, что два опкод-кэшера одновременно не работают :))
с названием конечно FAIL - все поначалу путаются.назвали бы Zend Accelerator+, и никаких бы вопросов не возникало.