Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

2008年8月28日

正規表現のセッションその後

アンケートの結果を拝見させてもらいました。
おかげ様で期待度と広めたい度はPLUSでした。ありがとうございました。
残念ながら、ご理解度が、低めでした。好意的なご意見から推察すると、時間と内容がアンバランスだったと反省してます。
構文は周知されている判断して、構文解説をしなかったのですが、裏目になったようでした。
「興味はあるが、深くは知られていない」という面を感じました。
ブログでも発信してみようかなと思った次第です。

 セッションで実行速度の比較をしてみたのですが、興味深いというか、自分が吃驚したことがあります。
元になるデータは、郵便局が配布している郵便番号のCSVデータで、この中から、神戸市と大阪市のデータを抽出するものです。
1. if (line.IndexOf(\"大阪市\") > -1 || line.IndexOf(\"神戸市\") > -1)  で:言語で抽出
2. "^.*(大阪市|神戸市).*$" : (Compile optionで処理)

この二種類ですが 

AMD64*2  で VS2008 で行うと   1: 0.9秒   2:1.7秒  となり、順当感が有ります。
ところが、
Intel Centrino で行うと       1: 1.1秒   2:0.9秒  となり、??な結果    Regex処理の方が早い!!

ILレベルでみても、差が見付けられなかったのですが、 CPUの差なのかなぁ。
(AMDでみてみると)なんとなく、Regexでは遅いようなイメージがありますが、言語の倍程度です。
十分実用に耐えうる速度だと考えます。

posted @ 1:07 | Feedback (3)