Тест определяет производительность фреймворков в одинаковом окружении для простейших проектов типа "Hello, world"
По предложениям из предыдущего поста я провел небольшой дополнительный тест, в который вошли еще Zend Framework (PHP), CakePHP и, кстати, решил еще проверить довольно молодой и интересный Pylons (Python)
Фреймворки на PHP я тестировал как без ускорителя, так и с eAccelerator 0.9.5
К тому же я исправил ошибку, обнаруженную в тесте с RoR 1.2.1.
Также по просьбам протестировал Turbogears с различными обработчиками темплейтов.

Два раза запускал ApacheBench C5 и еще дополнительно С100
ab -c 5 -n 1000 
ab -c 5 -n 1000 
ab -c 100 -n 10000
CodeIgniter и CakePHP запускаются с eAccelerator без проблем.
Zend же в консоле работает, но под FastCGI с акселератором выдаёт следующее:
Fatal error: Cannot access protected property Zend_Controller_Front::
$_plugins in /srv/zend/library/Zend/Controller/Front.php on line 130
С помощью акселератора удалось ускорить работу PHP-фреймворков в 4.4-6.4 раза. Благодаря этому CodeIgniter вышел на второе место после django.

Pylons оказался простым в освоении фреймворком, к тому же довольно быстрым.

При тестировании RoR мною была допущена следующая ошибка:
надо было config/environment.rb изменить RAILS_GEM_VERSION = '1.2.1'
кроме того я обнаружил, что в контроллере также можно дописать "session :off", тем самым значительно ускорив работу. Итак, после исправления, фреймворк показал действительно намного лучшие результаты, при этом обогнав TurboGears

Для Turbogears кроме стандартного Kid, я протестировал Cheetah, Genshi и Jinja. Для простого текстового темплейта Cheetah обгоняет Kid в 1.35 раза.

Тест фреймворков

З.ы.: для всех, кто обвинял меня в предвзятости - я относился ко всем фреймворкам одинаково. Но нужен один для пары крупных проектов и, самое главное - это стабильность под очень высокой нагрузкой и, естесственно, скорость. Даже такой простой проект "hello world!" помог сорентироваться в этом и в сложности проектирования на фреймворке. Так и был сделан выбор в пользу django. Абсолютно не зная питона, разобраться в django достаточно быстро мне не составило труда, уже через несколько дней я сделал пару небольших проектов (в том числе и этот блог). Да он еще и самым шустрым оказался - бинго. Честно говоря, думал Pylons может оказаться быстрее :-) кстати, тоже очень симпатичный и удобный фреймворк.
50 Votes | Average: 4.5 out of 550 Votes | Average: 4.5 out of 550 Votes | Average: 4.5 out of 550 Votes | Average: 4.5 out of 550 Votes | Average: 4.5 out of 5 (50 votes, average: 4.5 out of 5)
Loading ... Loading ...

Top Posts: