Link Details

Link 91855 thumbnail
User 287383 avatar

By phpimpact
via avnetlabs.com
Published: Jul 02 2008 / 02:40

When it comes to developing and scaling Web applications, performance is everything. Ekerete Akpan, from AVNet Labs, conducted a series of benchmarks to compare the performance of four popular PHP frameworks.
  • 16
  • 1
  • 2401
  • 795

Comments

Add your comment
User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

IMO the only relevant test is APC with no DB calls, good effort anyway

User 287383 avatar

phpimpact replied ago:

0 votes Vote down Vote up Reply

Then you wouldn't be testing the framework, only a component.

User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

You would test dispatching process which adds overhead, this is the main culprit. Models and database access can be implemented in many ways, especially with ZF which doesn't force you to do anything. For example, testing Zend_Db_Table which is optional and not even used by many people has no place in such comparison. Also, there are dozens of components that make up a framework, you claim to be "testing the framework" by touching 1% of the code? Silly.

User 287383 avatar

phpimpact replied ago:

0 votes Vote down Vote up Reply

I'm confused, you suggested to test less code by excluding components. All the benchmarks are showing the same results:

http://static.alrond.com/results_2test.gif

User 233461 avatar

antych replied ago:

0 votes Vote down Vote up Reply

I don't suggest to exclude components, zend controller and view are components, so it wouldn't make much sense. I suggest you stick with dispatching process which is most relevant and common for every framework. I also didn't expect results to change.
The bottom line is that those framework are too complex to pick one component like Zend_Db and throw it into the comparison. All you can do is check simple scenario, what it takes to dispatch and render a view. Still there are many variables you didn't account for, like plugins enabled by default. One framework can do more work out of the box than another one, not necessarily being slower overall.

User 292673 avatar

Jeremy Ward replied ago:

0 votes Vote down Vote up Reply

I couldn't agree more. Francois Zaninotto wrote an excellent post about what you've just said:

http://www.symfony-project.org/blog/2007/06/11/is-symfony-too-slow-for-real-world-usage

User 255579 avatar

tobyhede replied ago:

0 votes Vote down Vote up Reply

Performance is orthogonal to scale!
Scale is an architectural concern.

User 287383 avatar

phpimpact replied ago:

0 votes Vote down Vote up Reply

If a system doesn't handle growing amounts of traffic in a graceful manner, then it will fail to scale.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.