[Namazu-users-ja 182] Re: Namazu 2.0.13 のパターンマッチングの問題修正

Taiji.Can @ grd.advantest.co.jp Taiji.Can @ grd.advantest.co.jp
2005年 1月 5日 (水) 10:40:16 JST


  菅です。

> 寺西です。
> 
> Namazu 2.0.13 で発生した時間のかかるパターンマッチングを修正しました。
> これは、Namazu-users-ja#67, #111 の対策です。
> 特に環境に依存せずに発生するようです。このため、環境依存と思われる
> Namazu-devel-ja #138, #51 とはまた別ということのようです。

  2.0.14 では

> これは、問題のパターンマッチングの処理は、O(n) ではないので、
> ファイルサイズが大きくなればなるほど、時間が爆発的にかかるためです。
> (O(n) ならサイズに比例だが、O(n^2) なら致命的)

  以下のパッチが当たっていないようです。cvs なら確かにこのパッチが
  当たっていました。一応、確認しておいて貰えますか?

> # diff -u html.pl.old html.pl
> --- html.pl.old 2004-11-26 21:01:02.000000000 +0900
> +++ html.pl     2004-11-26 21:01:15.000000000 +0900
> @@ -148,7 +148,7 @@
> 
>      if ($$contref =~ m!<LINK\s[^>]*?HREF=([\"\'])mailto:(.*?)\1\s*>!i)
> { #"
>             $fields->{'author'} = $2;
> -    } elsif ($$contref =~ m!.*<ADDRESS[^>]*>(.*?)</ADDRESS>!is) {
> +    } elsif ($$contref =~ m!<ADDRESS[^>]*>(.*?)</ADDRESS>!is) {
>         my $tmp = $1;
>  #      $tmp =~ s/\s//g;
>         if ($tmp =~ /\b([\w\.\-]+\@[\w\.\-]+(?:\.[\w\.\-]+)+)\b/) {

  また、異常に遅くなったので気が付きました。まぁ、これで新しいのを
  出す必要もないと思いますが。
-- 

					ADVANTEST corp.
					Taiji.Can @ grd.advantest.co.jp



Namazu-users-ja メーリングリストの案内