BLOG

2014年4月16日/ in_array, isset, パフォーマンス

[PHP]issetとin_arrayのパフォーマンスの違い

 

数十から数百レベルのデータ数では同じ「一瞬」に感じる処理も厳密には差分があり、その差分が扱うデータが大きくなるにつれて明確になっていきます。

とりわけビッグデータを扱う場合、いかに素早く目的のデータを見つけるかがシステムの快適性に大きく影響します。

 

今回はPHPでは配列の検索によく使われるisset()とin_array()のパフォーマンスの違いについて調査しました。

 

調査方法

要素が100万個ある配列を生成し、isset()とin_array()のパフォーマンスを5回計測し、平均を求めました。

 

 

結果

  • in_array():39.27 ms
  • isset()       :0.018 ms

isset()の方が2000倍以上速い事がわかります。

 

このため、PHPでは配列のkeyにユニークな値を設定してisset()で探索ことが推奨されます。

 

 

 

Resent Posts

Category