Article freyasx/21 of [1-99] on the server localhost:7119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A20@freyasx.ML_>]
Newsgroups: mail-lists.freyasx

[FreyaSX] Namazuと較べてみた...
16 Aug 2004 02:00:11 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project

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/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V