В сети появилось множество тестов сравнения производительности популярных PHP-фреймворков, каждый из которых старается доказать что он лучший и следует выбрать именно его. Мне стало это интересно и я решил провести свой маленький тест.
Я сравнивал Kohana 2.3.1, Codeigniter 1.7, Yii 1.0.1.
Все это «хозяйство» запускалось под xampplite на моем Eee PC 701 (да да да именно Eee PC 701 !!!!!), работающем под Windows XP.
Тестовым приложением был сам фреймворк, т.е. для Kohana и Ci я просто произвел их установку и первичную настройку (тестировалось обращение к дефолтной странице установленного фреймворка). Для тестирования Yii было создано тестовой приложение ( команда yiic webapp docRoot/yiiTest), обращение происходило к индексной странице этого приложения.
Результаты тестирования можно видеть на скриншотах ниже.
Как видно из проведенных тестов, все «испытуемые» показали приблизительно одинаковую производительность, однако Yii незначительно вышел вперед.
Конечно из результатов данного теста, нельзя делать каких-то окончательных выводов, так как были использованы лишь базовые возможности фреймворков (да и «железо» было не совсем подходящее ))), однако, на мой взгляд, о скорости загрузки основных компонентов (ядра),выводы сделать все же стоит.
Да, чуть не забыл, команда для тестирования: ab -t 10 -c 10.
Привет!
Погружаешься в разработку ? Ищешь ментора ?
Поделюсь своими знаниями и опытом - https://opeykin.ru/mentor/
Спасибо.
Насчет железа конечно вы не прогадали)))
Неужели yii оказался быстрее?
Может, стоит сделать одно простейшее приложение (1 контроллер, 1 модель и 1 вид) на этих трех фреймворках, а не использовать стандартные приложения при установке.
«дефолтные» приложения как раз и содержат контроллер и представление (нет только модели). На мой взгляд, модель следует применять при измерении скорости работы с данными (например, выборка), и тут может сказаться производительность библиотеки для работы с БД.
А какой смысл во всем этом? Какой-то фреймворк подгружает библиотеки (Profiler, Cache или еще что-то), другой напрямую все выводит… Сравнивать надо более-менее целевое приложение, использующее хотя бы четверть возможностей фреймворка.
И конечно есть еще другие параметры (читабельность, документация и т.д.) для сравнения, без них все это просто слова на ветер.
мне кажется, что небольшой смысл все же есть — мы можем посмотреть на скорость загрузки минимального функционала. Если Вы подключите такие библиотеки как Cache и Profile — время естественно увеличится, но инициализация ядра будет происходить в любом случае при каждом запросе.
Просто таким образом получается, что фреймворк с меньшими возможностями якобы лучше, чем тот, чьи библиотеки подгружаются ядром сразу. Повторюсь, тестировать надо целевое приложение, иначе всех порвет нативный php.
согласен :-)!
кстати вот тут (http://cr0t.habrahabr.ru/blog/49592/) интересная статья — сравнивается производительность Ci и Koh при работе с БД.
было бы еще очень интересно узнать кто из них сколько памяти потребляет
Тут упомянули мою статью про Kohanу и Codeigniter. Хочу высказать свое мнение по поводу приведенных тестов. Просто я тоже в последнюю неделю изучаю Yii и, конечно, же провожу свои тесты… Так вот при стандартной методике (без БД и т.п.) — т.н. hello world тестировании — запросе стандартного контроллера, который идет в поставке с фреймворком (так я и тестировал), я получил на свое ноутбуке примерно такие данные:
CI — ок. 33 ответов/сек
Yii — ок. 70 ответов/сек
Kohana — ок. 73 ответов/сек
Пока на боевом 4-х процессорном ни Yii, ни Kohana не тестировал, как сделаю, опубликую результаты.
Было бы очень интересно взглянуть )