木村です。

	In: [ruby-list:5455] 

>ところで DBM っていったいどういう仕組みなんですか?良くでき
>てるなあ。件の viewer (scat.rb) は起動される度にスレッドに関
>するデータを記録した DBM を読んでボタンを配置しているんだけ
>ど .dir, .pag 共に 25M バイトぐらいなんですが、アクセスする
>のに 0.1 秒ぐらいしかかからないんですよ。多分、管理領域があっ
>てディスク上の必要な位置だけを読むんだと思うんですが。

細かいことは忘れてしまいましたが、確か B-Treeを使った実装をして
いると記憶しています。レコードの数に対して非常に小さな比較回数
で目的のレコードを探し当てられます。
#細かい計算式は忘れましたが、アルゴリズム関係の教科書を
#見ればでているでしょう^^;

「いじめる」ようなデータをぽこぽこ入れてくと、ファイルサイズの
増大の仕方が急激になります。
#確かおーむかしの jperlにあった sdbmのバグがそれに絡んでます

-- 
木村浩一
    e-mail koichi-ki / aix.or.jp
           kkimura / pure.cpdc.canon.co.jp