[Namazu-devel-ja 1497] Re: mknmz のadd_ key( ), make_phrase_hash() の負荷軽減
Tadamasa Teranishi
yw3t-trns @ asahi-net.or.jp
2007年 2月 22日 (木) 19:15:42 JST
寺西です。
Yukio USUDA wrote:
>
> > これは、ガベージコレクションの回数が減ることによる速度向上を期
> > 待した
> > ものという理解でよろしいですよね?
>
> 今のところその通りです
実装依存なので、結構微妙な話ですね。しかし...
> > 手元の環境ではそこまでの性能はでていませんが、このテストスクリ
> > プト
> > では、やや速くなっています。
>
> UNIX系では違いが小さいようですが、データ生成ループ回数を増やすと
> 違いがでてきます。
> また、MS-Windows の ActivePerl では違いが大きく出て
> います。
確かに Windows (たぶん NT系と95系では差がでそうだけど)だと、
結構な差が出ていますね。
# Windows のメモリ管理と ActivePerl のメモリ管理の相性が
# 悪いのかなぁ。こんなに差が付くのは...。
> > mknmz では
> > 処理が異なるので、ここまでの性能差がでるのかどうか、やや疑問で
> > す。
>
> 他にも時間のかかる処理があるので改善程度から見ると全体に占める割合
> はあまり大きくならないと思います。
努力が報われないのはちょっと...。
> > 次に単語がアルファベット2文字固定というのも気になります。
> > 文字列が長くなれば、
> > length($keyindex{$word} だとか、@{$keyindexarray
> > {$word}} のところの
> > (ハッシュ値計算を含めて)処理時間に影響が出てくるのではな
> > いかとも
> > 思います。
これが意外にコストはかからないようです。
> 仮説を少しづつ確認していく段階なので違いが大きめに出るほうが観測
> しやすいと考え試しています。データ構造についてはご指摘の通りです。
う〜ん、オーバーヘッドも当然あるわけなので、有利な条件でテストして
仮説を組み立てていくのはどうかとは思います。
が...。
ワーストケースでも Windows では、それほど大きなオーバーヘッドはなさ
そうでした。
# UNIX では試していません。
ところで、Windows 95 系ではまた結果は違ってくると思いますが、それは
今更気にする必要はないです。
ただ、Windows でも 64bit環境だと、また事情が変わってくるだろうと
思います。
# 今のところ、64bit 版の PPD は公開していませんけど...。
--
=====================================================================
寺西 忠勝(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 メーリングリストの案内