Производительность SLAED CMS относительно новых версий PHP
В последнее время выход новых версии PHP и количество произведённых в нем модификаций относительно функционала, а главное оптимизации скорости работы не могут не радовать. Казалось бы всё хорошо, в верном направлении «идём товарищи!». Но реакция не всегда позитивная, есть как не удивительно и отрицательные стороны, этого, казалось бы положительного события. Часто веб-мастерам и владельцам сайтов переход на новую версию PHP создаёт настоящую головную боль, в виду того что обновление до актуальной версии не всегда возможно, по причине устаревшего функционала используемых ими CMS и скриптов.
Совсем недавно разработчики PHP выпустили релиз версии PHP 7.2, изменения вошедшие в которую так же коснулись функционала нашей системы. Одной из нововведений которое непосредственно затронуло нашу CMS, это объявление функции create_function() устаревшей. Это не значит что методы объявленные устаревшими не будут работать, просто разработчики PHP дают время авторам, модифицировать свой код в соответствии с новыми условиями, и возможно только в следующих версиях PHP 7.3 или выше, объявленный устаревшим функционал будет удалён полностью.
В любом случае, считаю что откладывать на потом данные нюансы не стоит, в таких случаях действует правило, «лучше раньше чем позже». В нашем варианте, данная функция использовалась системой в методах шаблонизатора CMS, по причине возможности её свойства внутреннего кеширования.
На данный момент ведутся работы по реализации новой версии SLAED CMS 6.3 Pro, функционал которой не ограничивается только на оптимальной связки с PHP 7.2. Реализованы новые возможности оптимизации SEO, новая система маршрутизации, обработка ключевых слов и мета тегов, микроразметка Schema.org и Open Graph. Это лишь небольшая часть изменений ждущих вас в новой версии CMS, но не будем забегать вперёд и вернёмся к производительности.
Предлагаю вашему внимание небольшой обзор, своего рода сравнительный анализ работы новой версии системы SLAED CMS 6.3 Pro с версией 6.2 Pro, при использовании на различных версиях PHP 5.4, PHP 5.6, PHP 7, PHP 7.1 и PHP 7.2. Тесты проводились на локальной машине под виртуальным сервером, соответственно на реальном сервере в сети, тесты времени будут отличатся только в положительную сторону.
Работа шаблонизатора SLAED CMS 6.2 Pro, активирован вывод 100 объектов одновременно в модуле новостей системы. Ситуация явно не стандартная и навряд ли кто из сайтовладельцев отважится предложить своим пользователям сто новостей на одной странице одновременно, но для сравнительного теста вполне подойдёт.
Время генерации в PHP 5.4: 0.0079 сек.
Время генерации в PHP 5.6: 0.0070 сек.
Время генерации в PHP 7.0: 0.0069 сек.
Время генерации в PHP 7.1: 0.0060 сек.
Время генерации в PHP 7.2: 0.0059 сек.
Работа шаблонизатора SLAED CMS 6.3 Pro, активирован вывод 100 объектов одновременно в модуле новостей системы.
Время генерации в PHP 5.4: 0.0078 сек.
Время генерации в PHP 5.6: 0.0069 сек.
Время генерации в PHP 7.0: 0.0067 сек.
Время генерации в PHP 7.1: 0.0059 сек.
Время генерации в PHP 7.2: 0.0057 сек.
Исходя из произведенного сравнительного анализа, превосходство PHP 7.2 в связке с актуальной версией системы на лицо.
Ну и немного забегая вперёд, «не сдержался о соблазна» и сравнил общую скорость работы системы SLAED CMS 6.3 Pro с использованием новых функций маршрутизатора, ЧПУ, мета тегов и т.д. относительно версии SLAED CMS 6.2 Pro на разных версиях PHP.
Общая скорость работы системы версии SLAED CMS 6.2 Pro
Время генерации в PHP 5.4: 0.0853 сек.
Время генерации в PHP 5.6: 0.0790 сек.
Время генерации в PHP 7.0: 0.0738 сек.
Время генерации в PHP 7.1: 0.0724 сек.
Время генерации в PHP 7.2: 0.0692 сек.
Общая скорость работы системы версии SLAED CMS 6.3 Pro
Время генерации в PHP 5.4: 0.0841 сек.
Время генерации в PHP 5.6: 0.0774 сек.
Время генерации в PHP 7.0: 0.0681 сек.
Время генерации в PHP 7.1: 0.0669 сек.
Время генерации в PHP 7.2: 0.0632 сек.
Что и следовало ожидать, значительных отличий скорости работы CMS между собой практически не наблюдается, но при этом не стоит забывать что в новой версии реализован большой объём SEO функционала и модификаций, которые положительно скажутся на развитии вашего проекта построенного на SLAED CMS.
Всем желающим высказать своё мнение касательно производительности и новых функций предлагаю принять участи в обсуждении на форуме нашего проекта в теме: Новые функции CMS и их производительность относительно версий PHP.
О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...