[Namazu-devel-ja 1576] Re: hash の負荷軽減

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2007年 4月 21日 (土) 02:20:20 JST


寺西です。

約2,000件の文書を分かち書きツールを変えてインデックス作成時間を測定
しました。

1) 測定マシン

前回と同じ


2) 測定データ
 http://www.namazu.org/ml.html#archive の以下のファイル

   namazu-win32-users-ja 2,242通

 メディアタイプは message/rfc822


3) 測定条件

 a) $ON_MEMORY_SIZE を標準(5000000), 10倍, 1/10, のそれぞれ
 b) KAKASI, ChaSen, MeCab のそれぞれ
    (いずれも Perl モジュール版)
 c) Namazu 2.0.17(SA), 修正(SE) のそれぞれ


4) 修正内容

前回と同じ


5) 結果

・結果(I) Namazu 2.0.17(SA)で測定

       |  処理速度   |  処理速度   |  処理速度
       |  50000000   |   5000000   |    500000
-------+-------------+-------------+--------------
KAKASI | 152.0534[1] | 166.8537[2] | 237.9477[15]
ChaSen | 155.8051[1] | 170.9218[2] | 242.6798[15]
MeCab  | 156.3145[1] | 161.9946[2] | 236.1377[15]

.....................................................................

・結果(II) 修正(SE)で測定

       |  処理速度   |  処理速度   |  処理速度
       |  50000000   |   5000000   |    500000
-------+-------------+-------------+--------------
KAKASI | 123.0638[1] | 129.4084[2] | 192.6253[15]
ChaSen | 127.3748[1] | 136.1503[2] | 184.9083[15]
MeCab  | 128.2462[1] | 133.9208[2] | 181.9373[15]


6) 考察

  KAKASI, ChaSen, MeCab のいずれを使っても処理速度に大きな差がない
ことがわかります。
  MeCab は ChaSen の3〜4倍高速という宣伝文句がありますが、それは
あくまでも MeCab 単体の性能です。Namazu からの分かち書き呼び出し
では、ChaSen, MeCab はかなり不利な使い方をしているため、KAKASI との
性能差もありません。
# ってことは、前々から知っていたのですが、宣伝鵜呑みにして性能が
# あがらないと嘆いている方がいらっしゃったので...。

  ここでは処理速度のみを評価していますが、もちろん分かち書きの質は
それぞれのツールに依存します。そのため、分かち書きツールの選択には、
処理速度というのは考えずに、分かち書きの性能であるとか、インストール
のしやすさであるとか、辞書のカスタマイズのしやすさであるとかといった
要素で選びましょう。

  KAKASI, ChaSen, MeCab の実行プログラムを呼び出した場合は、また
違った性能差がでるかとは思いますが、それらはいずれも Perl モジュール
版よりは遅くなるのは確実です。よほど理由がない限り、Perl モジュール版
を使いましょう。実行プログラムを呼び出すという選択をした場合は、
処理速度がどうこうという話はナンセンスです。


7) 測定データ

省略
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




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