web

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

ずっと気になっていた事。。
プロファイリングというほど真面目にやってませんが、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。
予想通りと言えば予想通りですよね。。

Author

manno.f@gmail.com

Comments

atani
2008/12/17 at 20:33

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



マンノ
2008/12/20 at 21:58

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

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



コメントを残す