Since the release of CakePHP 1.2 stable (i.e. 1.2.1) there was a lot of discussion on the CakePHP Google group on the following topics: Which framework is the best. Is CakePHP fifth ranking framework? Are we using the slowest framework? Worst? Least flexible?
I'm not going to point to an example thread, nor do I blame the authors. They simply didn't think for themselves when they were posting. But I will say something. I say, shut the hell up already.
Because I have the answer. Now, I want to you read the answer as carefully as you would read the time and date of your death (pretty soon, I assure you).
The best framework is the one that gets the job done.
See? It's not that complicated. Now to elaborate the answer, here are some tips.
Thou shalt not compare stuff with benchmarks, for they are worthless. In case you didn't get that, let me know and I can repeat it for you. For a benchmark to make sense, you should spend at least a year studying all the frameworks that you're trying to benchmark. Then - and only then - you can code a benchmark application optimized for each of those frameworks. All frameworks come from the same compost heap. They are not beautiful and unique snowflakes. Until you know that, you are useless.
Apples and oranges
Whatever gets the job done is the only way to compare frameworks. I guess what I'm trying to say is that you need a context for comparison. Is CakePHP better for desktop applications than .NET? I don't think so. Is ASP.NET better for web than CakePHP? I don't think so. Context. You can't just ask "is .NET better than CakePHP", the question doesn't make any sense. Are apples better than oranges? Where's the context in that??
So, is CakePHP better than CodeIgniter? For which purpose? I can't answer that question without knowing the purpose. Nor can you.
At the moment, CakePHP is getting the job done for all my projects. Some day, it may or may not fail. When and if that happens, I will simply look for the next framework that fits the purpose. There is no such thing as best framework. I may like the idea of Cake being the best, but how can I guarantee that? Who am I to say it is? Who the hell are you? What kind of a bleeding reference is a hello world benchmark??
In the end, I want to convey a message: stop it.
I don't care what your benchmark says about my shovel. What other people think about my shovel. Or how my shovel doesn't enable me to use a sledgehammer at the same time. Ladies and germs, my shovel gets the job done. And most of all, I can turn you into a pulp with nothing more than my shovel. So shove it.