Index: [Article Count Order] [Thread]

Date: Thu, 12 May 2005 02:40:21 +0900
From: Tatsuki Sugiura <sugi@nemui.org>
Subject: [webrickja:142] Re: BUFSIZE が小さすぎる?
To: webrickja@notwork.org
Message-Id: <874qd9mzju.wl@hail.nemui.org>
In-Reply-To: <20050511.204044.846953623.gotoyuzo@sawara.priv.tokyo.netlab.jp>
References: <878y2mm5fh.wl@hail.nemui.org>	<20050511.204044.846953623.gotoyuzo@sawara.priv.tokyo.netlab.jp>
X-Mail-Count: 00142

杉浦です。

>>> In Message "[webrickja:141] Re: BUFSIZE が小さすぎる?"
>>>            <20050511.204044.846953623.gotoyuzo@sawara.priv.tokyo.netlab.jp>,
>>> GOTOU Yuuzou <gotoyuzo@notwork.org>  said;
> > という訳で BUFSIZE を定数ではなくて可変にしてほしい、というリクエストと、
> > ディフォルト値をもう少し大きくしませんか? という提案です。
> > 
> > 具体的にどこまで増やせばいいのかというのは難しいですが……とりあえず
> > 24k くらいはあっても良いかなと。如何でしょうか?
> > # 小さめの画像ファイル(ボタン画像とか)が1発で読めるくらい?

> 前にも同じような注文があって今のサイズに増やしたような気がし
> ます。(みみっちい)

あら。そうだったのですか……。 C レベルのバッファは小さくて良いと
思うのですが、ruby で動くとオブジェクト生成のオーバーヘッドが結構
きついので……と? バッファサイズのだけの問題でも無いのかなと言う
ことに今気づきました(^^;

http://www.ruby-lang.org/ja/man/?cmd=view;name=trap%3A%3AIO#footmark-4
にある IO の落し穴話なのですが、IO.raed(size, buf) の形式を使って
直接バッファを書き換えると解決しそうな気もします。

> 可変にするというのは、config[:BufferSize] で与えようかと思い
> ますが、デフォルトはどうしましょうかね。修正するにやぶさかで
> はありませんが、さすがに二度目なので、簡単なプロファイルくら
> い取ってみてももいいような気はします。

ちょっと明日から数日動けなさそうなので、それ以降でよろしければ
上記の内容のパッチを書いて、どのくらい変わるか試してみます。

> ところで、WebDABハンドラってどのくらい実装されているんでしょ
> うか?

書いている間に段々混迷度があがってきてお恥ずかしいですが、
今のところこんな感じです。
http://sugi.nemui.org/pub/ruby/sarada/darcs/

nautilus, konq, cadaver, Windows WebFolder あたりから
取り合えずファイルの読み書きが出来る程度には動いています。
機能的には class1 を大体実装していますが、内部の動作で RFC の
仕様に沿えていない部分をどこまでやるかちょっと悩んでいます。

Lock を実装して class2 相当にしたらリリースしようかと考えていますが……

-- 
Tatsuki Sugiura   mailto:sugi@nemui.org