We're all curious about the speed of PHP Frameworks. The only way to judge this is with benchmark tests, and each benchmark test has a multitude of variables, is their caching in use or not, does the test include database performance, for example. A comparison from one benchmark to another is almost impossible, more a subjective exercise, than one of scientific comparison. Thus, I will only subjectively review relative performance of one framework against the others, in other words, this is my opinion, take it with a grain of salt.
Having said that, I looked at as many benchmarks as I could find on the Internet to compare. There were over 18 PHP Framework benchmarks done by others on the Internet. I threw out some, for one reason or another, and got down to the 18 benchmarks I used.
One problem was that only a small set of frameworks were selected for testing in each benchmark. However, by putting the benchmark results in a spreadsheet, and then giving those results a consistent relative weight across all the benchmarks, and then averaging these relative weights across the 18 benchmarks, I was able to come up with a reasonable performance comparison for all but two of the frameworks, which had no performance benchmarks: Fuse, and Qcodo. Akelos had only one benchmark, so its results are highly suspect. The number in parenthesis is the number of benchmarks that I found including that framework, and thus the more reliable the information.
In the blindly, super fast, but not enough tests to verify, category is: DooPHP (2). DooPHP did their own benchmark, so the results are questionable. They claim to be "the fastest PHP framework." DooPHP needs further testing, but it looks like the fastest framework of the group.
In the superfast category, with enough tests to verify is: Codeigniter (15), Kohana (4), and Yii (8). These three are very close in results, and a step above the next group. I saw tests where each one was rated faster than the other, but only by the slimest of margins. Generally, everyone tests against Codeigniter, since it's been around for awhile, and Codeigniter is usually a hair better than Kohana, and Yii, but it's pretty close. Take your pick.
In the middle ground we have: Symfony2 (3), Solar (2), Akelos (1), and Zend (9). Symfony 2 looks like a significant performance enhancement over Symfony 1.2.4 (7), but was not quite up to the super fast group.
And the bottom of the pile is Cake (15). Cake was everyone's "favorite to test against, and bash framework," and consistently was the worse performing framework in all 15 benchmarks.
Without further ado, here is my relative performance rankings, based on the above 18 benchmarks, with ten being the fastest followed by the other frameworks approximate relative performance results.
- 10.00 DooPhp
- 7.86 Codeigniter
- 7.75 Kohana
- 7.04 Yii
- 6.63 Symfony2
- 6.00 Solar
- 5.50 Akelos
- 4.78 Zend
- 2.79 Symfony1.4.2
- 2.03 Cake
Codeigniter still supports PHP4, however Ellis Labs is working on Codeigniter 2 with Codeigniter 2.1 is set to be PHP5 only. The trouble with futures is Codeigniter is notoriously slow with its releases, which is why Kohana came into existence in the first place, as a fork of Codeigniter. We don't know how a new release will affect overall performance of the framework has evidenced by what happen with Symfony.
Kohana has just released a 3.0 version, that is not quite ready for prime time more in my next article.
Yii has much improved documentation, since I last looked at them.
Symfony 2 was quite a performance boost over one and has good documentation.
Akelos is a Rails clone and supports both PHP4 and PHP5 with code generation.
Zend has a rich library, and is sponsored by the folks who make PHP.
Cake has a strong user community.
I will review each of these framework's features in my next article, see you then.