Hi everyone,

Matthew said:

Also, please remember that these are done without any caching --
opcode or content.

Opcode caching is turned on, per the methodology outlined in the earlier reports, which I recommend everyone read:

* <http://paul-m-jones.com/blog/?p=236>
* <http://paul-m-jones.com/blog/?p=238>

(I refer to those reports at the very beginning of the latest article.)

The opcode cache is XCache. The reason for this is that I originally did some comparisons with Lighttpd+FCGI and Apache+mod_php, and APC did not play well with FCGI at the time.

Regarding content caching, 2 points:

1. A full-page static cache will give responsiveness equal to the web server, so it's not a measure of the framework. We already know how fast the web server responds (2300 req/sec) and it will be identical for any framework that can cache a full page.

2. A view cache, in the minimal "hello world" case, is likely to take *longer* respond than simply presenting the view as-is. This is an intuitive hypothesis, not a tested assessment; here is my reasoning. The view cache isn't activated until after you go through the bootstrap, front controller, page controller, and action method; then you need to load the cache object, check to see if the cache exists and is valid, and then return that. That's as opposed to an action with no logic that goes directly the to view script, which itself is static text only.



They are meant as baseline comparisons only -- what is the base performance of each given framework.

This is correct. The tests measure the outside limits of responsiveness.


Karol responded:

Anyway, this only shows that some frameworks are better optimized to display "hello world" than others.

This is **not** correct. Every line of application code added to the dispatch cycle will only reduce performance, so when you are attempting to improve the speed of your application, these results show exactly how much room for improvement you have. This is not an assessment of "hello world" optimization, it is an assessment of the maximum responsiveness of the framework architecture, specifically the dynamic dispatch cycle (bootstrap, front controller, page controller, action, and view).


There will be plenty of chances to improve ZF performance,
but so far focus seemed to be on adding features.

There is no such thing as a free feature; adding features that impact the dispatch cycle will continue to reduce baseline responsiveness. This has been the case across all the tested systems, not just ZF.




--

Paul M. Jones
http://paul-m-jones.com/




Reply via email to