文字列比較を比較してみる

ずっと気になっていた事。。
プロファイリングというほど真面目にやってませんが、strcmp、preg_match、==演算子どれが実行速度が速いか試してみました。

材料として、文字列$str1、$str2を10000回ループ処理

$str1 = “abcd”;
$str2 = “abcd”;
$n = 10000;

結果は以下の通り(要所有Mac)

strcmp Total: 0.006756067276sec
preg_match Total: 6.37917709351sec
「 == 」 Total: 0.00159978866577sec

何度か試しましたが、 ==演算子、strcmp、大きくはなれて preg_match。
予想通りと言えば予想通りですよね。。

Tweet about this on TwitterShare on Facebook0Share on Google+0


“文字列比較を比較してみる” への2件のフィードバック

  1. atani より:

    unixでは、awkとgrepで速度比較した事がありましたが、
    そのときはawkが3倍速い結果となった記憶があります。
    今度1行perlも加えて比較してみたいところです。

  2. マンノ より:

    > atani
    awk の存在を知らなかったもぐりです。スイマセン。
    grep は正規表現という超便利機能を備えているので、ある程度の速度は犠牲になりますよね。(っても十分早いんですが・・・)

    grep って global regular expression print の略なんですね知らなかったもぐりです。スイマセン。

コメントを残す