phpの性能改善(@)
PHPのエラー回避演算子「@」をつけると、性能劣化に直結する。。
http://blog.myrss.jp/archives/2008/05/_php.html
結構使ってるので、まずいかも。。
実際に測定してみました。
測定にしようするのは、PEARのBenchMark。
http://tech.ironhearts.com/blog/archives/151
PHPのバージョンは5.2.6
測定内容は下記の通り。
- 連想配列Aにキーがあれば、変数Bにセットする
- 同じ処理を1000万回処理する
1.@で回避したロジック
$a = array();
$a['a’] = 'aaaa’;
if ( @$a['a’] ) $b = $a['a’];
▼測定結果
12.021020秒
2.配列に指定したキーの値がある場合
$a = array();
$a['a’] = 'aaaa’;
if ( $a['a’] ) $b = $a['a’];
▼測定結果
2.668419秒
3.issetで判定するロジック
$a = array();
$a['a’] = 'aaaa’;
if ( isset($a['a’]) ) $b = $a['a’];
▼測定結果
2.305626秒
結論
@を使わないロジックが圧倒的に高速!
issetを使った方が高速!
大変勉強になりましたm(_ _)m
ディスカッション
コメント一覧
まだ、コメントがありません