[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
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;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |