Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Rasmus(inventor PHP) did not like cakephp much because it had(he <a href="http://talks.php.net/show/froscon08/25" rel="nofollow">benchmarked</a> it a while back so things could have changed) real bad performance. He liked codeigniter the most because it had the best performance. Below the numbers(performance):</p> <h2>cakephp:</h2> <pre><code>Response time: 0.19 secs Transaction rate: 25.88 trans/sec </code></pre> <h2>codeigniter:</h2> <pre><code>Response time: 0.03 secs Transaction rate: 305.90 trans/sec </code></pre> <p>As you can see it was slow as hell(could have changed. You should do a simple benchmark and test to be certain I guess).</p> <h2>The no-framework Framework</h2> <p>He also has this <a href="http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html" rel="nofollow">article</a> explaining how he would write his architecture(without framework for best performance).</p> <p>in the conclusion he says:</p> <blockquote> <p>Many frameworks may look very appealing at first glance because they seem to reduce web application development to a couple of trivial steps leading to some code generation and often automatic schema detection, but these same shortcuts are likely to be your bottlenecks as well since they achieve this simplicity by sacrifizing flexibility and performance.</p> </blockquote> <h2><strong>Going to disc will be a real performance killer.</strong></h2> <p>This is the most important tip you should keep in mind.</p> <h2>My performance tips</h2> <ol> <li>Use the latest php(5.3) because I read it has massive speed improvement over the older versions.</li> <li>Make sure you have enough memory. You need to store a lot of data in memory to get good performance.</li> <li>You really need APC(configure it properly) to achieve good performance because it will put PHP opcode in memory which will give you a huge boost.</li> <li>You should keep your active dataset in memory by using redis/memcached/etc.</li> <li>If you have to do long running tasks process them via a message queue(redis/gearmand/kestrel/etc)</li> <li>Follow <a href="http://developer.yahoo.com/performance/rules.html" rel="nofollow">YAHOO's best practices</a> to speed up your website.</li> <li>Don't use a heavy PHP framework. Use something like Codeigniter(Benchmark it).</li> </ol>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload