[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/maintenance/benchmarks/ -> bench_if_switch.php (source)

   1  <?php
   2  /**
   3   * Benchmark if elseif... versus switch case.
   4   *
   5   * This come from r75429 message
   6   *
   7   * This program is free software; you can redistribute it and/or modify
   8   * it under the terms of the GNU General Public License as published by
   9   * the Free Software Foundation; either version 2 of the License, or
  10   * (at your option) any later version.
  11   *
  12   * This program is distributed in the hope that it will be useful,
  13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15   * GNU General Public License for more details.
  16   *
  17   * You should have received a copy of the GNU General Public License along
  18   * with this program; if not, write to the Free Software Foundation, Inc.,
  19   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  20   * http://www.gnu.org/copyleft/gpl.html
  21   *
  22   * @file
  23   * @ingroup Benchmark
  24   * @author  Platonides
  25   */
  26  
  27  require_once  __DIR__ . '/Benchmarker.php';
  28  
  29  /**
  30   * Maintenance script that benchmark if elseif... versus switch case.
  31   *
  32   * @ingroup Maintenance
  33   */
  34  class BenchIfSwitch extends Benchmarker {
  35  	public function __construct() {
  36          parent::__construct();
  37          $this->mDescription = "Benchmark if elseif... versus switch case.";
  38      }
  39  
  40  	public function execute() {
  41          $this->bench( array(
  42              array( 'function' => array( $this, 'doElseIf' ) ),
  43              array( 'function' => array( $this, 'doSwitch' ) ),
  44          ) );
  45          print $this->getFormattedResults();
  46      }
  47  
  48      // bench function 1
  49  	function doElseIf() {
  50          $a = 'z';
  51          if ( $a == 'a' ) {
  52          } elseif ( $a == 'b' ) {
  53          } elseif ( $a == 'c' ) {
  54          } elseif ( $a == 'd' ) {
  55          } elseif ( $a == 'e' ) {
  56          } elseif ( $a == 'f' ) {
  57          } elseif ( $a == 'g' ) {
  58          } elseif ( $a == 'h' ) {
  59          } elseif ( $a == 'i' ) {
  60          } elseif ( $a == 'j' ) {
  61          } elseif ( $a == 'k' ) {
  62          } elseif ( $a == 'l' ) {
  63          } elseif ( $a == 'm' ) {
  64          } elseif ( $a == 'n' ) {
  65          } elseif ( $a == 'o' ) {
  66          } elseif ( $a == 'p' ) {
  67          } else {
  68          }
  69      }
  70  
  71      // bench function 2
  72  	function doSwitch() {
  73          $a = 'z';
  74          switch ( $a ) {
  75              case 'b':
  76                  break;
  77              case 'c':
  78                  break;
  79              case 'd':
  80                  break;
  81              case 'e':
  82                  break;
  83              case 'f':
  84                  break;
  85              case 'g':
  86                  break;
  87              case 'h':
  88                  break;
  89              case 'i':
  90                  break;
  91              case 'j':
  92                  break;
  93              case 'k':
  94                  break;
  95              case 'l':
  96                  break;
  97              case 'm':
  98                  break;
  99              case 'n':
 100                  break;
 101              case 'o':
 102                  break;
 103              case 'p':
 104                  break;
 105              default:
 106          }
 107      }
 108  }
 109  
 110  $maintClass = 'BenchIfSwitch';
 111  require_once RUN_MAINTENANCE_IF_MAIN;


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1