作者: dune
日時: 2002/8/30(21:58)
極悪です。

閑舎 さんの [TSfree:306] Re: txtsearch Ver.0.5アップロード から
>> すみません、ここは逆でした。"OLE" と "-w" を and 検索してんのかな。
>> perl txtsearch -w OLE >hoge.html が正解で、結果は 79KB のファイル
>> になって 37 秒で終わります。
>
>言い忘れていたので追加します。pgrep は使ってないのでウソを言っているかも
>ですが、通常の grep だと多数の文字コードに対応していない、特に Unicode 
>には対応していないでしょう。従って、html などは SJIS, EUC, JIS, Unicode 
>が混ざっていると考えられるので、pgrep だと 1 度の検索では、その 1 部しか
>抽出できないと思います。この辺が txtsearch の時間がかかる 1 つの原因です
>が、セールスポイントでもあります。

ごめんなさい、37秒で終わるって書いてますが、間違いです。
3.7 秒って書きたかったんだと思う。

お詫び?ですが、| を使うとスピードが落ちるので、
  /^(?:$ASCIIL|$TWOBYTES|$THREEBYTES)*?$strings[0]/o
といった個所は
  /$strings[0]/o and /^(?:$ASCIIL|$TWOBYTES|$THREEBYTES)*?$strings[0]/o
みたく書いたほうが速いかもです。似たような個所を計三箇所
なおして txtsearch2 としてみました。

D:%timer "perl txtsearch -w OLE >hoge.html"
3.953000 sec
D:%timer "perl txtsearch2 -w OLE >hoge2.html"
3.156000 sec
D:%diff hoge.html hoge2.html

D:%

で、ちょびっとだけ速くなってます。スクリプトの内容を理解
してないので余計なとこまで直してるかもしれませんが。

-- 
FZH01112@..., http://homepage1.nifty.com/dune/