[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 メーリングリストの案内