From: nobu.nakada@... Date: 2002-01-29T20:58:02+09:00 Subject: [ruby-dev:15798] Re: [PATCH] improve on \G なかだです。 At Tue, 29 Jan 2002 19:43:48 +0900, Nobuyoshi-Nakada wrote: > [ruby-talk:30523]で、-Kを指定すると\Gを使ったマッチが遅いという > 話が出てます。調べてみると、regex.cのre_adjust_startpos()でマル > チバイトの境界を文字列の最初から探しているせいのようです。逆方 > 向に探すことで-Kがないときとほぼ同じ速度になります。 失礼、ちょっと訂正。 --- regex.c~ Tue Jan 29 19:39:58 2002 +++ regex.c Tue Jan 29 19:54:17 2002 @@ -4432,5 +4432,5 @@ static const unsigned char mbctab_euc[] 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - /* reverse scan */, + /* reverse scan */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4470,5 +4470,5 @@ static const unsigned char mbctab_sjis[] 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - /* reverse scan */, + /* reverse scan */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4508,5 +4508,5 @@ static const unsigned char mbctab_utf8[] 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 0, 0, - /* reverse scan */, + /* reverse scan */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦