Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filename検索他修正



寺西です。

Yukio USUDA wrote:
> 
> > ただ、できれば eucjp_z2h を呼ぶのは避けたいです。
> > 可能な限り eucjp_zen2han_ascii で解決したいです。というのは、
> > eucjp_z2h をその都度呼び出すのはパフォーマンス的にかなり悪い
> > のです。
> 同パッケージ内でのサブルーチン呼び出しでも悪いものなのですね。
> いろいろ速度アップにはノウハウがありそうです。

サブルーチン呼び出しのオーバーヘッドが結構あるようです。

> sub eucjp_zen2han_ascii ($) {
>     my ($str) = @_;
>     if (util::islang("ja")) {
>         $str =~ s/([\xa1-\xfe][\xa1-\xfe]|\x8e[\xa1-\xdf]|\x8f[\xa1-\xfe][\xa1-\xfe])/
>         my $tmp = $1;
>         $tmp = ($tmp =~ m!\xa3([\xb0-\xb9\xc1-\xda\xe1-\xfa])! ? $1 & "\x7F" :
> $tmp);
>         $tmp =~ m!\xa1\xa1! ? " " : $tmp;
>         /gse;
>     }
>     $str;
> }
> 
> でどうでしょうか。

うまく動きます。こっちの方がすっきりするので、これに変えちゃい
ましょう。
# 後は、全角記号を半角記号に変換する処理だな。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E