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
-~----------~----~----~----~------~----~------~--~---

Reply via email to