2013年3月17日日曜日

関数の返り値を直接配列として扱うと…

以前の記事でPHP5.4から「関数やメソッドの返す結果を直接配列として扱える」ように
なったという事について例を示しました。
ですが、そのベンチマークを取り忘れていたので調査してみます。

サンプルコード 実行結果
BenchMark 1     average:0.012288689613342
BenchMark 2     average:0.0055228233337402
というわけで、普通の配列の倍以上の時間がかかることが分かりました。
これは、foreachのループごとに関数getArray()が実行されていることによるパフォーマンス低下と見なせます。
関数の返り値の利用が一度きりならまだしも、複数回参照するのでしたら一度変数に代入したほうが良さそうですね。

0 件のコメント:

コメントを投稿