From: Hideto ISHIBASHI Date: 2001-02-06T21:25:05+09:00 Subject: [ruby-list:27549] Re: ディレクトリ情報を一度に取得するクラスはありませんか? 石橋秀仁です。 "たけ(tk)" wrote: > matz@zetabits.com (Yukihiro Matsumoto) さん 曰く: > 》ということですから、ひとつのファイルに対して複数回状態取得を > 》回避したいということでしたら、File::statが使えるのでは? > >  ありがとうございます。だいぶ速くなりました。 > >  でも、カウントすると20万個も出てきてしまうので、まだしんどいですね。一 > つのファイルに1/100秒くらいかかる。 詳しい環境がわからないので、推測で書きますね。 それだけのエントリ数があれば、速度にも限界があると思います。 根本的に方法をリファクタリングしたほうがよいかもしれません。 [DOS→Samba→Linux]とのことですから、 Sambaが動いているLinuxサーバの側で、 ディレクトリの全エントリについてFile::statして、 その結果をまとめて圧縮し、一度だけ送信する。 というのはどうでしょうか? つまりTCPで通信させます。(dRubyがよいかも) もし圧縮しなくても、一括でstatするぶん高速化されています。 おそらく、ボトルネックは総データ量ではなく、 総トランザクション数ではないでしょうか? いずれにしてもサーバ側の処理で改善できるボトルネックです。 しかし、サーバ側でそのような処理を実行できない、 技術的な理由があれば仕方ありませんね。 状況がわかりませんでしたので推測で書きました。 ご参考になれば。 -- 石橋秀仁 hideto-i@rr.iij4u.or.jp ICQ#: 83329246 MSN: hideto_i@hotmail.com