namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mknmz: user-friendly progress messaging
藤原 誠 Makoto Fujiwara <makoto@xxxxx> wrote:
>satoru-t> 改善案では進捗状況がよくわかります。おおよその終了時間を予測
>satoru-t> できるため、利用者は安心すると思います。
>
>僕は、これがとてもいいと思って、そういう意見を書いたつもりでしたが、
>思っただけで何も手が動いていませんでした。ごめんなさい。とてもいい
>と思います。
というわけで、変更して commit しました。こんな感じです:
% mknmz -a /tmp/foo
9個のファイルがインデックス作成の対象として見つかりました
1/9 - /tmp/foo/1 [message/rfc822]
2/9 - /tmp/foo/2 [message/rfc822]
3/9 - /tmp/foo/3 [message/rfc822]
4/9 - /tmp/foo/4 [message/rfc822]
5/9 - /tmp/foo/5 [message/rfc822]
6/9 - /tmp/foo/6 [message/rfc822]
7/9 - /tmp/foo/7 はサイズが 0 なので無視します
7/8 - /tmp/foo/8 [message/rfc822]
8/8 - /tmp/foo/9 [message/rfc822]
インデックスを書き出しています...
[基本]
日付: Tue Feb 15 12:28:12 2000
追加された文書の数: 8
サイズ (bytes): 19,163
合計の文書数: 8
追加キーワード数: 570
合計キーワード数: 570
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間 (秒): 12
ファイル/秒: 0.67
システム: linux
Perl: 5.00503
Namazu: 1.9.14
>ついでなのですが、ちょっと関係ありそうな記憶領域の使用量のことです。
>僕の感触では 30kbytes/file という気が何とはなくしていて、
>例えば 1000 file だと 30M, 3000 file だと 90M というような目安を持っ
>ているのですが、合っているでしょうか。もしそうだとしても、
>人に言えるような有意な数字でしょうか。
(snip)
>とは言っても本当に大雑把な話です。当然一つ一つの大きさにも依るでしょ
>うし。僕は以上では通常のメールのことを考えています。
>また OS にも依るでしょうか。
いろんな条件によって変わります。mknmz は mknmzrc の
$conf::ON_MEMORY_MAX の値で、メモリに読み込む文書ファイルの
量を制限しています。そして、読み込んだ文書ファイルの量が
$conf::ON_MEMORY_MAX に達するたびに、一時的にインデックスを
書き出しを行います。
そういった処理を行っているので、mknmz のプロセスのサイズはあ
る点で膨張が止まるはずです。しかし、現実にはじわじわと膨張し
続けてしまいます。
そこで、 -s オプションの登場です。
>それとも -s でこの辺は事情が変りますか。
-s を指定すると「一時的にインデックスを書き出し」のときに
mknmz が自分自身を exec し直します。このときに mknmz のプロ
セスのサイズはぐっと小さくなります。(生まれ変わる)
興味のある方は挙動を top で眺めてください。
# -s オプションのアイディアは、喜多淳一郎さんからいただきました
-- Satoru Takabayashi