[Reference:<_A20@freyasx.ML_>]
Newsgroups: mail-lists.freyasx
[FreyaSX] Namazuと較べてみた...
FreyaSX もひと段落つきつつあるような気もするので、ちょっと他のエンジン
と較べてみることにしました。まず比べてみるとすると、Namazuですね。
ずっと以前、Freya をいじりはじめた5月ころにダウンロードした 2.0.13-1が
あったので、まずはこれをインストールすることにします。環境はいつもの
iMac (MacOS 10.2) です。
./configure
make
としたら、MMagic というものが必要だと怒られました。エラーメッセージ中の
ガイドに従ってMMagicをインストール。。。しようとしたら、.../CORE/perl.h
が無いと怒られました。findしていみると、より上位の機種独立な場所にあっ
たのでシンボリックリンクして再度make。したら今度は config.h が無いと
怒られたので、やはりシンボリックリンクして回避。で MMagic は通って
(自分のホームディレクトリにインストール)、namazu に戻って make 完了。
しかしsuになってインストールするのは嫌だし恐いので、./configure の中の
ac_default_prefix=/usr/local とあるのを自分のホームに書き換えて、
再度makeおよびmake install。というわけで、自分のホームの namazu/local
の下にインストール完了。bin を PATH に入れて準備おっけー。かな。
・RFCを食わせてみる
METAタグでタイトル等を挿入してHTML 化した、3687件を食わせてみました。
例にしたがって、
mknmz -O /tmp/index rfc
とやってみましたが、PERL_HASH_SEEL=0 をセットしろといわれるので、その
とおりにして再実行。最初はまずまず順調、秒あたり数件〜10件程で進行して
いたんですが。。。段々動かなくなり、やがて秒2件くらいになさらにそれ
以下に。。。ps してみると、perl mknmz が CPU を 食いながら走り続けて
います。RFC1300まで処理した段階で、既にCPUを25分以上食っています。
メモリは60メガほど消費(これはまあ問題なさそうですが)。
何かインストール法か使い方の間違いか。。。でも少しづつながら処理は進行
してはいるし。。。しかしこれではいつ終るとも知れないので断念。
対象を1000番台の RFC1xxx.html (994件)に減らして再度トライ。してみたが
この番台のになるとサイズがでかいせいか、始めから進行が遅くて秒1件程
しか進まない。うーん、これは何かの異常ではなくて、Perlで実行している
ためなのかも。仕方が無いので、1000 - 1099 まで (存在するのは99件)に
絞って再度トライ。すると 4分半で、正常に終了したもよう。よかった
よかった。念のためもういちどやってみたけど、やはり同様。
% mkdir /tmp/index
% mknmz -O /tmp/index rfc
...
97/99 - /Users/yutaka/freyasx/data/rfc/rfc1097.html [text/html]
98/99 - /Users/yutaka/freyasx/data/rfc/rfc1098.html [text/html]
99/99 - /Users/yutaka/freyasx/data/rfc/rfc1099.html [text/html]
Writing index files...
[Base]
Date: Mon Aug 16 10:27:55 2004
Added Documents: 99
Size (bytes): 6,021,552
Total Documents: 99
Added Keywords: 66,338
Total Keywords: 66,338
Time (sec): 276
File/Sec: 0.36
System: darwin
Perl: 5.008001
Namazu: 2.0.13
227.930u 4.410s 4:36.32 84.0% 0+0k 0+49io 0pf+0w
% du -k /tmp/index
2612 /tmp/index
うーん。。。
対して FreyaSX-0.99.1 では、
% find rfc -type f > frfc
% time any2fdif -b rfc100 -f frfc
FDIF file: bank/rfc100/rfc100.fdif
Desc file: bank/rfc100/rfc100.dsc
Summary file: bank/rfc100/rfc100.sum
Mtime file: bank/rfc100/rfc100+mtime.srt
Atime file: bank/rfc100/rfc100+atime.srt
First URL: rfc-1100/rfc1000.html
...
suffix count ratio indexed ctrl ntxt encd bin null dir
------ ------ ------ ------- ---- ---- ---- ---- ---- ----
html 99 100.0% 99 0 0 0 0 0 0
Indexed: 99 (with Author: 99+0)
1.530u 0.520s 0:03.01 68.1% 0+0k 4+19io 0pf+0w
前処理に 3秒。
% time findex -b rfc100
*** -d /Users/yutaka/freyasx/etc/icot.dic
*** -o bank/rfc100/rfc100 bank/rfc100/rfc100.fdif
4.067 scanned 99 docs ( 19/s) 760069 words (152013/s).
4.073 found 45751 words ... build index
5.922 scanned 4616609 bytes.
5.928 registered 760069 words occurrences (953641 registered).
Lex: 1188903 bytes -- bank/rfc100/rfc100.lex
Idx: 1868786 bytes -- bank/rfc100/rfc100.idx
6.335 adjusting .ctx ...
*** 6.340 adjusting .ctx ... 0 occurrences
7.433 adjusting .ctx ... 760069 DONE
7.438 Ctx literal=175622 / position=760069 (23%)
Ctx: 3040276 bytes -- bank/rfc100/rfc100.ctx
Dsc: 25344 bytes -- bank/rfc100/rfc100.dsc
Srt: 396 bytes -- bank/rfc100/rfc100+urls.srt
5.490u 0.830s 0:07.79 81.1% 0+0k 13+13io 0pf+0w
% du -k bank/rfc100
10820 bank/rfc100
実際の索引作りに8秒。CPU消費的にも、実時間的にも、約20倍の違いという
ことでしょうか?まあ、Perlで前処理していた、オリジナルのFryaだと
確かにそのあたりの処理速度でしたが。
もちろん、作成する索引の内容が違うので単純な比較はできませんが。
Namazu が 66,000のキーワードといっているのに対して、FreyaSXでは46,000
ほどですし。
一方、ディスクの使用量はNamazuで2.6MBです(索引以外に、表示用の情報等を
色々含んでいる模様。索引データ自体は2メガちょっとか?)。
対してFreyaSXでは6MB。2〜3倍でかい。内容的には、
% ls -l bank/rfc100
total 21640
-rw-r--r-- 1 yutaka staff 396 16 Aug 10:32 rfc100+atime.srt
-rw-r--r-- 1 yutaka staff 396 16 Aug 10:32 rfc100+mtime.srt
-rw-r--r-- 1 yutaka staff 396 16 Aug 10:32 rfc100+urls.srt
-rw-r--r-- 1 yutaka staff 0000000 0X Aug 10:32 rfc100.ctx
-rw-r--r-- 1 yutaka staff 25344 16 Aug 10:32 rfc100.dsc
-rw-r--r-- 1 yutaka staff 0000000 0X Aug 10:32 rfc100.idx
-rw-r--r-- 1 yutaka staff 0000000 0X Aug 10:32 rfc100.lex
-rw-r--r-- 1 yutaka staff 792 16 Aug 10:32 rfc100.map
-rw-r--r-- 1 yutaka staff 6633 16 Aug 10:32 rfc100.sum
ということで、FreyaSX-0.99で導入した、検索結果の文脈表示のための .ctx
が3MBとでかいですね。オリジナルFreyaにはこれはありませんでしたし、
インデックスもFreyaSXでだいぶふくれました。もっともそれらはオプション
で省略したり調整可能なので、検索用のファイルとしてのサイズはコンパラと
言って良いのかも知れません。
D G
┌─┐┬┌──┬┐ //\^^ ( - ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_< >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)
|