極悪です。
閑舎 さんの [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/