<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 18 May 2013 06:21:13 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Systems Architect: Performance benchmark of popular PHP frameworks]]></title>
      <guid>http://www.phpdeveloper.org/news/19502</guid>
      <link>http://www.phpdeveloper.org/news/19502</link>
      <description><![CDATA[<p>
On his site today <i>Lukasz Kujawa</i> has a post that <a href="http://systemsarchitect.net/performance-benchmark-of-popular-php-frameworks/">compares some performance benchmarks</a> of several popular PHP frameworks including Slim, CodeIgniter, Laravel, Symfony2 and Zend Framework 2.
</p>
<blockquote>
There are many assumptions around performance of different PHP frameworks. I frequently hear strong opinions about superiority X over Y in this context. There are companies writing new PHP frameworks from scratch because available solutions are too slow for them. What does it really mean? Does the framework performance matters? Before answering this questions lets check how slow is your framework!
</blockquote>
<p>
He took the "quick start" projects provided for each of the examples and ran some tests with the Apache Benchmark (ab) tool against EC2 instances, all configured the same way. The results weren't overly surprising with Slim beating the others hands down (it's a micro-framework after all) and Kohana and CodeIgniter coming in second and third. The frameworks with more overhead like Zend Framework and Symfony ranked some of the slowest. 
</p>
Link: http://systemsarchitect.net/performance-benchmark-of-popular-php-frameworks]]></description>
      <pubDate>Wed, 24 Apr 2013 12:04:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Systems Architect Blog: Apache2 vs Nginx for PHP application]]></title>
      <guid>http://www.phpdeveloper.org/news/19382</guid>
      <link>http://www.phpdeveloper.org/news/19382</link>
      <description><![CDATA[<p>
On the Systems Architect blog there's a recent post from <i>Lukasz Kujawa</i> about <a href="http://systemsarchitect.net/apache2-vs-nginx-for-php-application/">comparing Apache2 and Nginx</a> for PHP applications, specifically when using the PHP-FPM module. His tests are based on the results from three different application types - a large Zend Framework 1 app, a small PHP script and a WordPress installation.
</p>
<blockquote>
If you've ever been trying to squeeze more out of hardware you must have come across <a href="http://nginx.org/en/">Nginx</a> (engine x). Nginx usually appears in context of PHP-FPM (FastCGI Process Manager) and APC (Alternative PHP Cache). This setup is often pitched to be the ultimate combo for a web server but what that really means? How much faster a PHP application is going to be on a different web server? I had to check it and the answer as often is - that depends.
</blockquote>
<p>
He ran the tests on an Amazone EC2 instance and optimized the server to ensure that there was a little interference as possible. The used the Zend Optimizer Plus opcode cache and PHP 5.4 and set the logs to go to memory instead of disk. Graphs included in the post show the results of the benchmarking of each application, with the differences (in most cases) not being that wide of a gap.
</p>
<blockquote>
There isn't big difference between Apache2 and Nginx in PHP context. Yes, Nginx can be much faster when delivering static content but it won't speed up PHP execution. Running a PHP script seams to be so CPU challenging task that it completely eclipse any gain from a web server.
</blockquote>]]></description>
      <pubDate>Fri, 29 Mar 2013 10:41:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder: Setting max_input_time (with data!)]]></title>
      <guid>http://www.phpdeveloper.org/news/19023</guid>
      <link>http://www.phpdeveloper.org/news/19023</link>
      <description><![CDATA[<p>
<i>Kevin Schroeder</i> has a new post to his site today wondering about the "max_input_time" setting for PHP and <a href="http://www.eschrade.com/page/setting-max_input_time-with-data/">why some recommend it being a large number</a> despite the (usually) fast time PHP has accepting input.
</p>
<blockquote>
<a href="https://twitter.com/kpschrade/status/289040379800592384">I asked a question on Twitter</a> on why some of the recommend max_input_time settings seem to be ridiculously large.  Some of the defaults I've seen have been upwards of 60 seconds.  However, after thinking about it I was a little confused as to why a C program (i.e. PHP) would take so long to process string input. The reason I was thinking about this was because I was thinking about ways to protect PHP from denial of service attacks. 
</blockquote>
<p>
So he ran some tests to see just how effective changes in this setting could be and how much time a typical PHP request would need to take in input. Using a Zend Framework 2 HTTP client, he simulated POSTS and tracked the start and end times for a file upload. He includes the timing results in the post based on both this setup and a change to only post regular text-based form data.
</p>]]></description>
      <pubDate>Fri, 11 Jan 2013 09:20:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: Fastest MVC PHP Framework Benchmark]]></title>
      <guid>http://www.phpdeveloper.org/news/18386</guid>
      <link>http://www.phpdeveloper.org/news/18386</link>
      <description><![CDATA[<p>
Over on Reddit.com there's a flamewar...er <a href="http://www.reddit.com/r/PHP/comments/yixlv/fastest_mvc_php_framework_benchmark/">discussion</a> happening about <a href="http://www.ruilog.com/blog/view/b6f0e42cf705.html">this set of benchmarks</a> (from 2011) showing things like response time, system load average and a function execution map for several popular frameworks.
</p>
<p>
In the <a href="http://www.reddit.com/r/PHP/comments/yixlv/fastest_mvc_php_framework_benchmark/#comments">Reddit comments</a> most people share the similar ideas about the results:
</p>
<ul>
<li>"I don't put much stock in hello world bench marks for MVCs. If you just need "Hello world" then write it in html."
<li>"Asking which framework is the fastest is almost irrelevant in most cases. I always dislike benchmarks like this because the actual situation is so much more complicated than a handful of benchmarks can show."
<li>"Any decent framework can output a simple content page from cache, it should not even have to call any router or controller. That's why simple content benchmarks are useless."
<li>"Who cares? The speed of a language or framework does not translate over to the speed of your website. What matters is your architecture."
</ul>
<p>
If you're looking for benchmarks that are more useful than these, I'd suggest checking out (and maybe contributing to) the <a href="https://github.com/pmjones/php-framework-benchmarks">ones Paul Jones has created</a> over on Github.
</p>]]></description>
      <pubDate>Tue, 21 Aug 2012 12:12:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: PHP Benchmarks Compared to Several Languages]]></title>
      <guid>http://www.phpdeveloper.org/news/18271</guid>
      <link>http://www.phpdeveloper.org/news/18271</link>
      <description><![CDATA[<p>
<i>Ariz Jacinto</i> has <a href="http://www.mentby.com/ariz-jacinto/see-how-php-outperforms-other-scripting-languages-in-the-latest-computer-language-benchmarks-game.html">pointed out some results</a> from a recent benchmarking "game" that compares the performance of several languages against each other in overall speed.
</p>
<blockquote>
Here's the <a href="http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php?gpp=on&java=on&php=on&python3=on&yarv=on&perl=on&calc=chart">link</a> to the Computer Language Benchmark Game as of July 
15, 2012. You'll see that the median speed of PHP is slightly faster 
than Python 3 and Ruby 1.9 on x64 Ubuntu/IntelQ6600 Quad-core machine.
</blockquote>
<p>
You can <a href="http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php?gpp=on&java=on&php=on&python3=on&yarv=on&perl=on&calc=chart">visit the results page</a> and turn on and off various languages to get the updated results in the chart. You can also limit it down to one of the many benchmarking test types as well.
</p>]]></description>
      <pubDate>Wed, 25 Jul 2012 09:14:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell: PHP 5.4 Benchmarks]]></title>
      <guid>http://www.phpdeveloper.org/news/18247</guid>
      <link>http://www.phpdeveloper.org/news/18247</link>
      <description><![CDATA[<p>
In <a href="http://www.lornajane.net/posts/2012/php-5-4-benchmarks">this quick post</a> to her site, <i>Lorna Mitchell</i> shares some of the benchmark results she found when doing some tests with the latest version of PHP - 5.4.
</p>
<blockquote>
Today I'm giving my first ever talk at OSCON - about PHP 5.4 (I'll also be giving my second ever talk at OSCON, about RESTful services; it's a busy day!). My talk includes some benchmarks which I thought I'd also share here. [...] This graph shows the performance of four versions of PHP (because the bench.php script that lives in the php source tree didn't appear until 5.1). The axis up the left is the time it took to run the benchmark script - so a smaller number is better news.
</blockquote>
<p>
You can see a <a href="https://chart.googleapis.com/chart?cht=bvs&chs=650x300&chma=30,30,30,30&chbh=50,20&chxt=x,y,x&chxl=0:|5.1.6|5.2.17|5.3.14|5.4.4|2:||PHP%20version&chd=t:3.97,4.1,2.8,2.25&chds=0,5&chxr=1,0,5&chco=991d66|c57fa3|bebcb9|52b4b2&chts=000000,24&chxs=0,,18|1,,18|2,,18">dramatic difference</a> between even just the latest in the PHP 5.3.x series in the 5.4 results. There's also a table with the details of each of her 10 executions of the "bench.php" script showing the results of the time spent to run the script on four different PHP versions.
</p>]]></description>
      <pubDate>Thu, 19 Jul 2012 09:54:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: Proof that PHP 5.4 is Twice as Fast as PHP 5.3]]></title>
      <guid>http://www.phpdeveloper.org/news/18092</guid>
      <link>http://www.phpdeveloper.org/news/18092</link>
      <description><![CDATA[<p>
In <a href="http://www.lornajane.net/posts/2012/proof-that-php-5-4-is-twice-as-fast-as-php-5-3">this quick post</a> to her blog, <i>Lorna Mitchell</i> shares an interesting bit of benchmarking she did between PHP versions 5.3 and 5.4, finding 5.4 twice as fast as it's previous version sibling.
</p>
<blockquote>
So recently I was working on some benchmarks for different versions of PHP, because I heard that PHP 5.4 is "faster" and since I'm a data geek I want to know how much faster! Now, PHP 5.4 is, in general, faster than PHP 5.3 but not twice as fast* unless you pick a use case which has been particularly optimised. My first attempt at benchmarking the two versions <a href="http://www.lornajane.net/wp-content/uploads/2012/06/graphshot.png">produced this</a>. This was a surprise to me; was PHP 5.4 really so much faster??
</blockquote>
<p>
Her benchmark was a pretty simple one - looping and creating a new object, evaluating the <a href="http://php.net/microtime">timing</a> of how long it took to execute. A commentor also points to some <a href="http://news.php.net/php.internals/57760">more official benchmarks</a> that were done and posted to the php.internals mailing list.
</p>]]></description>
      <pubDate>Thu, 14 Jun 2012 10:04:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Larry Garfield's Blog: readfile() not considered harmful]]></title>
      <guid>http://www.phpdeveloper.org/news/17909</guid>
      <link>http://www.phpdeveloper.org/news/17909</link>
      <description><![CDATA[<p>
In <a href="http://www.garfieldtech.com/blog/readfile-memory">this new post</a> to his blog <i>Larry Garfield</i> tries to dispel a common misconception in the PHP development world - that the <a href="http://php.net/readfile">readfile</a> function should be considered harmful and can cause memory issues in your code.
</p>
<blockquote>
If you're like me, you've probably read a dozen or two articles about PHP performance in your career. Many of them are quite good, but some are simply flat out wrong, or misinformed. One of the old truisms that has been repeated for as long as I can recall is "don't use readfile() if you have big files, because it reads the whole file into memory and your server will explode." [...] There's just one problem with that age-old truism: It's not true.
</blockquote>
<p>
He created some benchmarks to illustrate the differences between several of the common methods for working with files via the <a href="http://php.net/fread">fread</a>, <a href="http://php.net/fpassthru">fpassthru</a>, <a href="http://php.net/stream_copy_to_stream">stream_copy_to_stream</a> and of course <a href="http://php.net/readfile">readfile</a>. He reports the results based on the runtime and the peak memory usage and noted, ironically, that while the times varied slightly, the memory consumption was exactly the same for all of the approaches. Since there's no real reason not to use "readfile", he looks at three reasons why there might be this stigma attached to it (including the issues that could come up with output buffering enabled).
</p>]]></description>
      <pubDate>Fri, 04 May 2012 09:51:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Artur Ejsmont's Blog: Publishing queue messages from PHP using different backends]]></title>
      <guid>http://www.phpdeveloper.org/news/17729</guid>
      <link>http://www.phpdeveloper.org/news/17729</link>
      <description><![CDATA[<p>
<i>Artur Ejsmont</i> has <a href="http://artur.ejsmont.org/blog/content/publishing-messages-from-php-to-different-message-queue-backends">a new post</a> sharing some benchmarks he put together about the "messages per second" and "time to execute" when using PHP to pull from various messaging backends.
</p>
<blockquote>
I have looked at the state of different messaging backends recently and i ran a little benchmark to see what is the rough comparison of message publishing throughput. Results that i got are quite surprising. What i wanted to achieve is some sort of reassurance before choosing a messaging bus for my PHP project. 
</blockquote>
<p>
Running both the PHP and the messaging test scripts on the same server, he pulled from a few different backend systems - RabbitMQ, MySQL, MongoDb, Memcached and ActiveMQ. The results were interesting, showing an interesting result in the time it took to execute versus the number of messages per second pushed in. 
</p>]]></description>
      <pubDate>Mon, 26 Mar 2012 11:31:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Konr Ness' Blog: Zend_Config Benchmark - JSON, Array, INI, XML, YAML]]></title>
      <guid>http://www.phpdeveloper.org/news/17647</guid>
      <link>http://www.phpdeveloper.org/news/17647</link>
      <description><![CDATA[<p>
In <a href="http://konrness.com/php5/zend_config-benchmark-json-array-ini-xml-yaml/">this recent post</a> to his blog, <i>Konr Ness</i> has benchmarked the components that the Zend Framework uses to read in different types of configuration files - JSON, native PHP arrays, INI, XML and YAML files.
</p>
<blockquote>
If you application relies on parsing one or several config files each time it is bootstrapped it is important that you select a file format that is fast to parse. But you also want to select a config file format that is easy for a human to read and edit. In a recent application I am building I also had the need to write modifications to config files, so I also benchmarked the Zend_Config_Writer components.
</blockquote>
<p>
He includes both the sample configuration INI file and the benchmarking script he used to measure the results (all configurations were read from external files, even the native PHP option). His results were pretty predictable (with the exception of YAML reading) with the standard INI file coming in second to the native PHP arrays, but having the advantage of being more readable.
</p>]]></description>
      <pubDate>Thu, 08 Mar 2012 11:51:32 -0600</pubDate>
    </item>
  </channel>
</rss>
