[PHP, Программирование] Производительность Composer 2.0 с JIT PHP 8 (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Прежде чем перейти к статье, приглашаем всех желающих поучаствовать в бесплатном вебинаре «PHP 8 — Что нового?».
Последние несколько месяцев для PHP разработчиков выдались поистине захватывающими. С релизами Composer 2.0 и PHP 8.0 произошли значительные обновления кодовой базы DXP (Digital Experience Platform) Ibexa и множества других программных проектов, работающих на PHP. В рамках продолжения темы проведения бенчмарков Composer 1.10 и 2.0 и Symfony 5.2 с PHP 7.1 и 8.0, сегодня мы рассмотрим производительность Composer 2.0 на PHP 8.0.Как и в предыдущих статьях, я проводил бенчмарки на Hetzner CCX11 VPS с 2 выделенными виртуальными ЦП и 8 ГБ ОЗУ. Я протестировал три сценария с использования Composer 2.0.7:
- PHP 7.4
- PHP 8.0
- PHP 8.0 с JIT.
Я решил не включать предварительную загрузку OPcache, потому что небольшое число запусков Composer вряд ли что-нибудь от нее выиграет. Используемые конфигурации OPCache и JIT:
opcache.preload_user=www-data
opcache.memory_consumption=1024
opcache.interned_strings_buffer=256
opcache.max_accelerated_files=30000
opcache.validate_timestamps=0
opcache.enable=1
opcache.enable_cli=1
opcache.file_cache="/tmp/php-file-cache"
opcache.file_cache_only=1
opcache.file_cache_consistency_checks=1
# only when JIT was enabled
#opcache.jit_buffer_size=512mb
#opcache.jit=1225
Контрольный прогон выполняется с установкой Ibexa Experience и включает следующее:
- Установить без файла блокировки и очищенных кэшей
- Потребовать новый пакет (novactive/ezseobundle)
- Установить с файлом блокировки, с очищенными кэшами
- Установить с файлом блокировки, с заполненными кэшами
Я запускал этот набор три раза с аналогичными скриптами из предыдущих бенчмарков и выбирал лучшие показатели по каждому из пунктов. Для отчетности я измерял время и использование памяти.
По продолжительности установки особых различий нет. При полном разрешении зависимостей быстрее всего справляется PHP 7.4, а медленнее всего — PHP 8.0 с JIT. При установке с файлом блокировки, но с пустым кэшем самым медленным оказался PHP 8.0 без JIT. Для случаев с заполненным кэшем результаты идентичны — всего за 6 секунд, что является хорошим результатом для интегрированных CI/CD конвейеров.
По использованию памяти показатели еще ближе друг к другу. С полным разрешением зависимостей PHP 8 является наиболее экономным, но немного более расточительным в других сценариях. Различия здесь довольно малы и поэтому не имеют большого значения в реальных сценариях.Судя по результатам бенчмарков, для Composer нет больших преимуществ от использования PHP 8.0 (с JIT или без него) вместо PHP 7.4. Для более ощутимых улучшений я бы порекомендовал просто перейти с Composer 1 на Composer 2. Особенно учитывая значительное сокращение объема памяти, используемого для разрешения зависимостей.
Узнать подробнее о курсе «PHP-разработчик».
Зарегистрироваться на открытый вебинар «PHP 8 — Что нового?».
===========
Источник:
habr.com
===========
===========
Автор оригинала: Jani Tarvainen
===========Похожие новости:
- [Python, Программирование] Приложение для конвертирования jpg файлов в pdf файл
- [Программирование, Java, Машинное обучение, Искусственный интеллект] Заменят ли роботы программистов?
- [Высокая производительность, Информационная безопасность, Программирование, Читальный зал] Оцените шансы хакнуть криптообменник и получить книжку с кабанчиком в подарок
- [Программирование, Java] Jmix — будущее CUBA Platform
- [Программирование, Компиляторы, Разработка под Linux] Микрохирургия ELF'а или «А что, так можно было?!»
- [Python, Программирование, Визуализация данных, Научно-популярное, Natural Language Processing] Стилометрия, или как отличить Акунина от Булгакова с помощью 20 строк кода?
- [Программирование] Представляем MPS 2020.3
- [Проектирование и рефакторинг, C, Программирование микроконтроллеров] Свободный мини AUTOSAR редактор для микроконтроллеров
- [Управление персоналом] Как улучшить метод OKR, когда ничего не работает (перевод)
- [Программирование, API, C] Проектирование C API (перевод)
Теги для поиска: #_php, #_programmirovanie (Программирование), #_php, #_composer, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_php, #_programmirovanie (
Программирование
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 03:24
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Прежде чем перейти к статье, приглашаем всех желающих поучаствовать в бесплатном вебинаре «PHP 8 — Что нового?».
Последние несколько месяцев для PHP разработчиков выдались поистине захватывающими. С релизами Composer 2.0 и PHP 8.0 произошли значительные обновления кодовой базы DXP (Digital Experience Platform) Ibexa и множества других программных проектов, работающих на PHP. В рамках продолжения темы проведения бенчмарков Composer 1.10 и 2.0 и Symfony 5.2 с PHP 7.1 и 8.0, сегодня мы рассмотрим производительность Composer 2.0 на PHP 8.0.Как и в предыдущих статьях, я проводил бенчмарки на Hetzner CCX11 VPS с 2 выделенными виртуальными ЦП и 8 ГБ ОЗУ. Я протестировал три сценария с использования Composer 2.0.7:
opcache.preload_user=www-data
opcache.memory_consumption=1024 opcache.interned_strings_buffer=256 opcache.max_accelerated_files=30000 opcache.validate_timestamps=0 opcache.enable=1 opcache.enable_cli=1 opcache.file_cache="/tmp/php-file-cache" opcache.file_cache_only=1 opcache.file_cache_consistency_checks=1 # only when JIT was enabled #opcache.jit_buffer_size=512mb #opcache.jit=1225
По продолжительности установки особых различий нет. При полном разрешении зависимостей быстрее всего справляется PHP 7.4, а медленнее всего — PHP 8.0 с JIT. При установке с файлом блокировки, но с пустым кэшем самым медленным оказался PHP 8.0 без JIT. Для случаев с заполненным кэшем результаты идентичны — всего за 6 секунд, что является хорошим результатом для интегрированных CI/CD конвейеров. По использованию памяти показатели еще ближе друг к другу. С полным разрешением зависимостей PHP 8 является наиболее экономным, но немного более расточительным в других сценариях. Различия здесь довольно малы и поэтому не имеют большого значения в реальных сценариях.Судя по результатам бенчмарков, для Composer нет больших преимуществ от использования PHP 8.0 (с JIT или без него) вместо PHP 7.4. Для более ощутимых улучшений я бы порекомендовал просто перейти с Composer 1 на Composer 2. Особенно учитывая значительное сокращение объема памяти, используемого для разрешения зависимостей. Узнать подробнее о курсе «PHP-разработчик».
Зарегистрироваться на открытый вебинар «PHP 8 — Что нового?». =========== Источник: habr.com =========== =========== Автор оригинала: Jani Tarvainen ===========Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_php, #_programmirovanie ( Программирование ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 03:24
Часовой пояс: UTC + 5