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