PHP のベンチマークテスト結果ないかな~と思って検索していたところ
いつも愛読しているPHP SPOT開発日誌さんの過去記事を発見しました。
PHPベンチマーク結果まとめサイト「The PHP Benchmark」
こちらの記事で紹介されているサイトがこちら↓↓
The PHP Benchmark
なかなかやるせない(?)情報がいっぱいだった・・・・
以下 The PHP Benchmarkより引用
[php]
<?php
// Initial Configuration
$answer = 2;
// Test Source
function Test10_4() {
global $answer;
/* The Test */
$t = microtime(true);
while($i < 1000) {
if($answer === 1) {
} else if($answer === 3) {
} else {
}
++$i;
}
return (microtime(true) – $t);
}
// Variable Clean-up
function Test10_End() {
global $answer;
unset($answer);
}
?>
[/php]
というコードと
[php]
<?php
// Initial Configuration
$answer = 2;
// Test Source
function Test10_6() {
global $answer;
/* The Test */
$t = microtime(true);
while($i < 1000) {
switch($answer) {
case 1:
break;
case 3:
break;
default:
break;
}
++$i;
}
return (microtime(true) – $t);
}
// Variable Clean-up
function Test10_End() {
global $answer;
unset($answer);
}
?>
[/php]
というコード。
どちらも同様の計算が行われるはず・・・
ところが前者が
95μs(マイクロ秒)に対し
後者は
135μs(マイクロ秒)になる。
前者を100%とすると後者は142%。
アプリケーション全体で後者の記述をしていれば前者に直すと142%加速する(・・・わけないか)
こんな感じでいろいろ比較があって見れば見るほど過去を反省・・・もといこれから直していこうと思っちゃいます。
※PHPの比較演算子について
「===」は型も含めて同じである場合にTRUEとなります。(PHP4以降)
詳しくはこちら(PHP:比較演算子)