namazu-ml(ring)


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

Re: Solaris is too slow.



Naohiro IIMURA <iimura@xxxxxxxxx> wrote:

>>うーむ。具体的にどの程度の差がでますか? 
>
>mknmz を修正した 1.3.0.5 では以下のようになりました.
(snip)
>1.3.0.2 の時は 1542 sec でしたから4倍かかってしまっています.

4倍とは大事ですね。例の正規表現を v1.3.0.2 の

    $$contents =~ s/([\s\S]+^(\d+\.\s*)?(Abstract|Introduction)\n\n)//im;

に変えると同じ速度が出ると思います。

それにしても正規表現がひとつ違うだけで全体の処理に

  1.  $$contents =~ s/([\s\S]+^(\d+\.\s*)?(Abstract|Introduction)\n\n)//im;
      - それなりに実用的な速度が出る
  2.  $$contents =~ s/(.+^(\d+\.\s*)?(Abstract|Introduction)\n\n)//ims;
      - 実用にならない遅さ
  3.  $$contents =~ s/\A(.+?^(\d+\.\s*)?(Abstract|Introduction)\n\n)//ims;
      - 1 と比べて 4倍以上遅いが 2 よりはずっとまし

こんな差が出るとは驚きです。


>Keywords が 0 になってしまっているので mknmz 実行時に取ったログ
>を見てみると,以下のようなものが 80181 個も出ていました.
>
>:::: (3) ::::
>:::: (8) ::::
>:::: (8) ::::
>:::: (3) ::::
>:::: (5) ::::
>:::: (2) ::::
>
>これが影響しているんでしょうか.

うげ、バグですね。今から直します。

-- Satoru Takabayashi