OEIC

Zend Framework speed

Richard Thomas put together a performance comparison of basic PHP, the Zend Framework, the Solar framework and Richard’s custom framework, and the results surprised me. ZF is slow as molasses. Of course, any framework is going to incur overhead compared to all custom code because the framework is managing a number of tasks transparently from a developer standpoint. However, a performance discrepancy of 48x is more than I had imagined. Two caveats:

  • The code being compared was a simple “Hello World” app. I’d imagine the difference between PHP and ZF would decrease as the complexity of the application increased. However, I don’t have any tests to back me up on this.
  • Once ZF was run with APC enabled, the number of requests per second quadrupled. Good to hear there’s an immediate fix, but it wasn’t immediately clear to me if APC functions were built into the code, or if it was enabled at a software layer below.

This stresses to me the importance of some caching mechanism for ZF applications. There were also some interesting comments on the post about creating development and production forks of the Framework, as development stresses simple APIs and prototyping speed, whereas in production, performance is paramount. I think this is an excellent idea, and could likely be developed as a deployment tool, along the lines of a compiler, rather than within the code itself. Zend & IBM: sounds like a good project, eh?

In semi-related news, Joel Spolsky has some thoughts about features vs. performance. He has some inflammatory words for Google, which is weird because they are developing the exact type of technologies that he praises in the article, like Google Gears and Google Web Toolkit. Oh well, I guess you don’t get attention for writing well considered, even handed pieces. Zing!

No comments     Jump to comment form | comments rss | trackback uri

Say what?

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>





About this entry

Categories