2006年10月27日

[Namazu-devel-ja 1332] Re: mknmz の処理時間短縮

寺西です。

Yukio USUDA wrote:
>
> 書き出しをした後に
> %KeyIndex = ();
> %KeyIndexLast = ();
> %PhraseHash = ();

> %PhraseHashLast = ();
> としてメモリを一部開放しているので関係ないわけではありません。

失礼。フリーしてますね。(^^;

# すると話が変わってくるわけですが...。

処理したデータ総量ではなく、ファイルサイズの総量で中間ファイルの
書き出し回数を制御するのがこの$ON_MEMORY_MAXの設定の難しいところです。

これは昔はファイルサイズの総量と処理したデータ総量との間に
多少の相関関係があったからということでしょう。しかし、今と
なっては対応メディアタイプも増え、メディアタイプによってかなりのばら
つきもあります。そのため、ファイルサイズの総量で判断することの意味
が薄くなっています。

本来なら、フリーする
%KeyIndex = ();
%KeyIndexLast = ();
%PhraseHash = ();
%PhraseHashLast = ();
これらの消費メモリのサイズで制御しないといけないはずです。

ファイルサイズの総数よりは、単純にファイル数で判定するとかの方が
まだ直感的に分かりやすく制御しやすいのではないかと思います。
# もちろん消費メモリとの相関はありませんが。

> --checkpoint はメモリリークが起きなければ使う必要がない
> オプションと言うことですね。

そう思います。(ついでに Windows 版ではきちんと動くのかどうかも
怪しいです。)
# 昔はメモリリークが結構起こったので私は重宝していました。

> > また、様々な用途に使われるので、デフォルトとして最適な値というもの
> > を決定できなくなったという背景もあるでしょう。
> >
> 利用形態により最適値は異なるし、環境も多様なのですが
> 現在の初期値はメモリ利用制限を厳しくコントロールされている
> ユーザーやメモリが少ない場合向けのものということになります。

前述のように消費されるメモリで制御するのではなく、取り扱うファイル
サイズの総量で制御するので、これはかなり解釈するのが難しいでしょう。

> 最近はメーリングリストに Out of memory の話題が出てこないので
> ユーザー層にマッチしているかどうかは気になります。

マッチはしてないと思いますが、ではどうすれば良いという解は残念ながら
持っていません。

いろんなケースで、ファイル数とメディアタイプの種類、ファイルサイズの
総量と、文書の情報量、メモリサイズと中間ファイルを出力した回数等の
情報を集めて解析しないと分からないかも...。

> >> そもそも $ON_MEMORY_MAX の値は Out of Memory 症状の
> >> 原因との
> >> 因果関係は少ない経験値のようなものです。
> >>
> >
> > そうですね。
> >
> どのような場合に増やすのがよいのかとか
> 変更した際のメリット、デメリットをFAQに書くのが
> よいのでしょうね。

中間ファイルの書き出し回数が必要以上に多いと感じた場合に増やせば
良いでしょう。(判断は難しいですが...)特にメモリに余裕があるならば。

- メリットは中間ファイルを作成する回数が減るので、速度が上がります。
- デメリットは、
 1. 消費メモリが増えます。
  どれくらい増えるかは予測できません。

$ON_MEMORY_MAX で指定する値は、ファイルサイズの総量なので、これと
消費メモリとの相関性が極めて低いからです。

2. 中間ファイルを作成する回数が減ります。
-> このため --checkpoint で exec し直す回数が減るので、メモリリーク
がある場合にはメモリの消費が多すぎて死ぬ可能性があります。

ただ、この内容では結局何を基準に具体的な数値を算出すれば良いのかは、
利用者にわからないので FAQ の回答としてはダメでしょうね。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
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 mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja

投稿者 xml-rpc : 2006年10月27日 01:14
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/48330
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。