My 2¢ on this subject: I have done a lot bit of profiling on my own apps. I have also compared Cake 1.1 with 1.2 when migrating an allication, but not compared another framework to Cake. What I can generalize from these tests is that using the common simple test-app probably 1.1 is faster than 1.2. Probably these benchmarks are correct when they do similar comparisons and find that Cake 1.2 is "slow" compared to other frameworks.
What I have also discovered is that when I do the same benchmarks using "heavy data" things look very different. When I say heavy data I am talking about a filemanager dealing with meta-data form 3'000 files and not just 20 odd files on my development system. I am talking about a reporting system loaded with 1.2 million transactions, not 120 transactions. I am talking about 400'000 user accounts and not 40. It can be a real pain getting that much data into your app. I have been lucky to have had access to large datasets I can copy and do tests on. I wouldn't like to try making 400'000 unique usernames myself :) In these cases I have seen that CakePHP 1.2 has been extremely good at handling the load. Many things that slow down the small application speeds up the "big" application. If my 40 users were processed in 0.4 instead of 0.2 seconds, that must be compared to how my 400'000 uses were processed in 4sec instead of running out of memory after 2 minutes of execution. (no real figures, btw) The developers of Cake have been very good at identifying and building tools that help an applications as it grows. Sure I can manually write all the same optimized queries and do a lot of things to make 1.1 (or some other framework) process in similar times, but in Cake 1.2 all these things are there, built-in and tested, ready to go. I remember one of these memory problems from this summer. When the problem occurred online, on a live server (OMG!) I could very quickly identify and correct a "sloppy find" in a matter of minutes and then all was well again. I am not suggesting anyone wait for real users to discover their bottle-necks, but it is a good indicator of how easy it is to "optimize" a Cake application. This has been a big anecdotal, I know. I don't have any real bench- results to share unfortunately. But I wanted to try to make the point that Cake 1.2 may not be the fastest from the outset but when you load your app down with more and more stuff Cakes keeps its speed really well. That would make an interesting benchmark. Making a few associations between a few Models and benching with a small 20KB database. Then testing with the database weighing in at 200MB or so. It would be cool to see the curve of each framework as the data started piling up. @Mathew The most important tool for optimization has in my experience been Containable (and "recursive = -1") which can really limit the amount of data loaded with each request. My second tip is to try to use few "foreach($found_data as $one)". For lopps can really kill you when there are a few hundred thousand items in the array :) /Martin On Jan 3, 4:42 am, gearvOsh <[email protected]> wrote: > These benchmarks dont mean anything. > > Do a benchmark using a full fledged system (perhaps a whole social > community) and see how the work. Simply hello world pages are nothing > because no frameworks are used for that. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---
