Is this result obtained by stopping and starting apache before running the test for each framework?
One thing I observed in your result is that index2.php is slower than index.php for Yii. This does not seem reasonable to me because index2.php should benefit from APC much more than index.php. (index2.php includes only a big PHP file while index.php includes many files). I verified this on several other platforms.
I just re-ran the benchmarking again on this project site. The result is still very similar to the one we obtained a month ago (with a little degradation overall considering the project site is live functioning).
Let's see what other people report about their results.
In fact, APC was misconfigured on first tests, here are the last results (APC working correctly), generated with your script, with a restart between each test:
Document Path: /benchmark/baseline/index.html
Requests per second: 4266.89 [#/sec] (mean)
Document Path: /benchmark/baseline/index.php
Requests per second: 4215.87 [#/sec] (mean)
Document Path: /benchmark/cakephp-1.1.20/webroot/index.php
Requests per second: 851.45 [#/sec] (mean)
Document Path: /benchmark/codeigniter-1.6.3/index.php
Requests per second: 1385.54 [#/sec] (mean)
Document Path: /benchmark/prado-3.1.2/index.php
Requests per second: 570.93 [#/sec] (mean)
Document Path: /benchmark/symfony-1.1.4/web/index.php
Requests per second: 477.23 [#/sec] (mean)
Document Path: /benchmark/yii-1.0-beta/index.php
Requests per second: 1411.16 [#/sec] (mean)
Document Path: /benchmark/yii-1.0-beta/index2.php
Requests per second: 1541.51 [#/sec] (mean)
Document Path: /benchmark/zend-1.6.2/index.php
Requests per second: 865.49 [#/sec] (mean)
Document Path: /benchmark/zend-1.6.2.autoload/index.php
Requests per second: 701.66 [#/sec] (mean)
And you're right, yii is really impressive. Not in the same proportions than yours, but it's pretty fast.
Yes, the server configuration (both software and hardware) really affects the results, sometimes dramatically. I also couldn't get the same proportion between index.php and index2.php when running them on Windows. But since people were requesting to run the tests on a Linux box, Wei and I took the effort to re-do it, which turned out index2.php was much faster.
First off, the version of CakePHP you are benching is very old. I heard the newer version of cake is supposed to be even faster than the old one. Even so, I find Cakephp to be very slow. I've been playing around with cakephp for about half a year now. When playing with my cakephp sites a get a good feel of it's speed.
When playing around with my Yii setup, I have to admit it seems a whole lot faster than my Cakephp setup. A lot faster. So I am very happy with Yii's speed and question these results.
First off, the version of CakePHP you are benching is very old. I heard the newer version of cake is supposed to be even faster than the old one. Even so, I find Cakephp to be very slow. I've been playing around with cakephp for about half a year now. When playing with my cakephp sites a get a good feel of it's speed.
When playing around with my Yii setup, I have to admit it seems a whole lot faster than my Cakephp setup. A lot faster. So I am very happy with Yii's speed and question these results.
Yes! If Yii makes a benchmark with CakePHP 1.2 RC4 is great to compare. In pratical, CakePHP 1.2 is used in prodution without problems…
My table (contacts) have one field 'id' pk, auto increment with others 2 fields: 'name' and 'phone'. Name is varchar(150) and phone varchar(30). The value of name is a UUID and phone a rand between 1000 and 3000000 as string.
When have Yii 1.0.1 I will update my tests too.
Reading the Yii docs, I see that focus is develop fast and execute fast! This is great! I look forward for version 1.1 for use with automated tests in the company. Do not forget the code coverage.
It would also be interesting to add a third test run for each framework with apc.stat=0. This is a very useful setting for production servers, as APC will not check the modification times for every cached file:
[quote=PHP manual]On a production server where you rarely change the code, turning stats off can produce a significant performance boost.
[/quote]