<?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>Thu, 15 May 2008 21:41:46 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DevShed: Comparing Files and Databases with PHP Benchmarking Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/10136</guid>
      <link>http://www.phpdeveloper.org/news/10136</link>
      <description><![CDATA[<p>
DevShed is wrapping up their series looking at benchmarking your PHP applications with <A href="http://www.devshed.com/c/a/PHP/Comparing-Files-and-Databases-with-PHP-Benchmarking-Applications/">the third part</a> - a look at comparing execution times of scripts that can either pull from a database or from a flat file.
</p>
<blockquote>
This large, complex subject offers numerous possibilities for experimentation, which means that you'll surely have tons of fun creating timing systems with PHP. [...] his article, then, will be focused on evaluating different scripts that fetch sets of records, first from a database, and then from flat files.
</blockquote>
<p>
They use the Timer class they defined in a previous part of the series and wrap it around both a database class (pulling user information from a MySQL database) and a fetch to a flat file for similar information. General exceptions are handled as a part of the resource connection class.
</p>]]></description>
      <pubDate>Thu, 08 May 2008 07:58:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Using Timers to Benchmark PHP Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/10082</guid>
      <link>http://www.phpdeveloper.org/news/10082</link>
      <description><![CDATA[<p>
DevShed has posted the <a href="http://www.devshed.com/c/a/PHP/Using-Timers-to-Benchmark-PHP-Applications/">second article</a> in their series looking at benchmarking your PHP scripts. This time they look at the use of "timers" to check on script execution length.
</p>
<blockquote>
Since you already know how to create timer functions and classes, in this tutorial, I'll create some concrete examples that show where these timing mechanisms can be applied in order to evaluate the performance of certain PHP applications.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Using-Timers-to-Benchmark-PHP-Applications/1/">create a few classes</a> that connect to a database and pull out rows (handing it off to a Result class). They use these classes in two examples - one with compression (output buffering) and one without using their Timer class to evaluate the differences.
</p>]]></description>
      <pubDate>Wed, 30 Apr 2008 14:31:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Christopher Jones' Blog: PHP Connection Pooling Whitepaper with Benchmark Available]]></title>
      <guid>http://www.phpdeveloper.org/news/10041</guid>
      <link>http://www.phpdeveloper.org/news/10041</link>
      <description><![CDATA[<p>
<i>Christopher Jones</i> has <a href="http://blogs.oracle.com/opal/2008/04/24#a302">pointed out</a> a <a href="http://www.oracle.com/technology/tech/php/pdf/php-scalability-ha-twp.pdf">new whitepaper</a> that's been published by oracle about the scalability the connection pooling affords for current versions of PHP.
</p>
<blockquote>
The whitepaper talks about the changes in the PHP OCI8 1.3 extension, explains some of the concepts behind DRCP and FAN, and gives best practices and tuning tips. It includes a new PHP benchmark which shows up to 20,000 connections being handled by Oracle on commodity hardware using only 2G RAM.
</blockquote>
<p>
The paper also talks about the FAN support that's built in - the ability for PHP to use the Oracle RAC cluster functionality to make for high availability (switching between nodes). The latest beta with all of this functionality in it can be grabbed <a href="http://pecl.php.net/package/oci8/">from its page</a> on the PECL site.
</p>]]></description>
      <pubDate>Fri, 25 Apr 2008 10:23:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Benchmarking Applications with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10026</guid>
      <link>http://www.phpdeveloper.org/news/10026</link>
      <description><![CDATA[<p>
DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Benchmarking-Applications-with-PHP/">the first part</a> of a new series looking at benchmarking performance in your PHP applications.
</p>
<blockquote>
If you're anything like me, you have had your head spinning with questions [...] these and other dilemmas (add your own to the list) sometimes make peace of mind a nearly impossible goal.
</blockquote>
<p>
<a href="http://www.devshed.com/c/a/PHP/Benchmarking-Applications-with-PHP/">The tutorial</a> talks about a few simple methods for running benchmark data including the use of microtime(), an OOP method and wrapping the call inside a method of their class.
</p>]]></description>
      <pubDate>Wed, 23 Apr 2008 21:02:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Benchmark of PHP Branches 3.0 through 5.3-CVS]]></title>
      <guid>http://www.phpdeveloper.org/news/9582</guid>
      <link>http://www.phpdeveloper.org/news/9582</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/745-Benchmark-of-PHP-Branches-3.0-through-5.3-CVS.html">posted the results</a> of some benchmarking on the compilation he's done on the branches of PHP from version 3.0 all the way up to 5.3-CVS.
</p>
<blockquote>
As people keep asking me for an update to my previous benchmarks (<a href="http://sebastian-bergmann.de/archives/634-PHP-GCC-ICC-Benchmark.html">PHP / GCC / ICC Benchmark</a>, <a href="http://sebastian-bergmann.de/archives/566-PHP-5.1-GCC-Benchmark-Update.html">PHP 5.1 / GCC Benchmark (Update)</a>, and <a href="http://sebastian-bergmann.de/archives/504-PHP-5.1-Performance.html">PHP 5.1 Performance</a>, I quickly ran a new benchmark today.
</blockquote>
<p>
He rendered the results out into a <a href="http://www.flickr.com/photos/sebastian_bergmann/sets/72157603864149774/detail/">series of charts</a> defining the number of total seconds taken for the compile and how long each of the components took. It's impressive to see how much of a jump there was between the 3.0 series and 4.3.
</p>
<p>
He also includes his compile settings (and machine information) as well as the numbers for the results if you'd like to graph them out yourself.
</p>]]></description>
      <pubDate>Thu, 07 Feb 2008 08:49:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Thompson's Blog: Switch vs. If]]></title>
      <guid>http://www.phpdeveloper.org/news/9549</guid>
      <link>http://www.phpdeveloper.org/news/9549</link>
      <description><![CDATA[<p>
<i>Rob Thompson</i> has <a href="http://rob.sun3.org/php-code/switch-vs-if/">posted about</a> some simple benchmarking he did comparing the speed of a series of "if" statements versus one "switch" with multiple cases.
</p>
<blockquote>
I got curious about which is actually more efficient at matching a random integer with a set of conditionals. So, I setup a script to create a set of large scripts to test the speed of these different constructs. Using the 'time' command, I measured the speed at which the condition could match a random number.
</blockquote>
<p>
His results found that the switch statement is generally more than 2 times as fast at matching a simple integer. His tests, however, didn't go through much more than this simple test. It'd be interesting to see what it would do with something more complex (like longer strings or handling the result of an evaluation inside the definition of the switch().
</p>]]></description>
      <pubDate>Fri, 01 Feb 2008 14:28:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stuart Herbert's Blog: Using suphp To Secure A Shared Server]]></title>
      <guid>http://www.phpdeveloper.org/news/9447</guid>
      <link>http://www.phpdeveloper.org/news/9447</link>
      <description><![CDATA[<p>
<i>Stuart Herbert</i> has <a href="http://blog.stuartherbert.com/php/2008/01/18/using-suphp-to-secure-a-shared-server/">posted about</a> a very helpful method server admins can use out there to not only help secure their server but possibly make their web hosting users more happy in the long run - using suphp on a shared server (security).
</p>
<blockquote>
The challenge with securing a shared hosting server is how to secure the website from attack both from the outside and from the inside. [...] This has created a gap that a number of third-party solutions have attempted to fill. One of the oldest of these is <a href="http://www.suphp.org/">suphp</a>, created by Sebastian Marsching. 
</blockquote>
<p>
He <a href="http://blog.stuartherbert.com/php/2008/01/18/using-suphp-to-secure-a-shared-server/">works through</a> the whole process - the installation (this is all on a Gentoo linux system), configuring for your Apache install, changing Apache to make it work with suphp and finally some benchmarks and parting comments concerning its use.
</p>]]></description>
      <pubDate>Fri, 18 Jan 2008 08:47:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Richard Thomas' Blog: Performance of Zend_Loader]]></title>
      <guid>http://www.phpdeveloper.org/news/9302</guid>
      <link>http://www.phpdeveloper.org/news/9302</link>
      <description><![CDATA[<p>
In a <a href="http://www.cyberlot.net/performance-zend_loader">new blog post</a> <i>Richard Thomas</i> takes a deeper look (well <a href="http://blog.digitalstruct.com/2007/12/23/zend-framework-performance-zend_loader/#comment-36722">continues</a> his ) at the performance of the Zend_Loader component of the Zend Framework.
</p>
<blockquote>
When you use Zend_Loader your files are wrapped in conditional statements. These statements prevent APC and all other cache/accelerator programs to have problems properly caching your file. [...] Now here is the catch-22. Depending on the size of your application and how often different classes are used you can run into problems.
</blockquote>
<p>
His result doesn't have much to do with the component, though - he points out that conditionals of any type can slow things down in an application and that "benchmarking is your friend".
</p>]]></description>
      <pubDate>Sun, 23 Dec 2007 16:08:00 -0600</pubDate>
    </item>
  </channel>
</rss>
