わたなべです. Shin-ichiro HARA <sinara / blade.nagaokaut.ac.jp> writes: :何度かまとめようと試みているんですが、メールやを受け取ったり、 :ニュースを取ってきたりするのと、CGI の viewer と、スレッド分 :けと、かなり複雑になってしまって、なかなか他人に使ってもらえ :るには至りません。 期待して待ってます. ;-) :ところで DBM っていったいどういう仕組みなんですか?良くでき :てるなあ。件の viewer (scat.rb) は起動される度にスレッドに関 :するデータを記録した DBM を読んでボタンを配置しているんだけ :ど .dir, .pag 共に 25M バイトぐらいなんですが、アクセスする :のに 0.1 秒ぐらいしかかからないんですよ。多分、管理領域があっ :てディスク上の必要な位置だけを読むんだと思うんですが。 たぶん index hash があって seek してるだけだと思います. :DBM に同じデータを追加したり削除したりするだけでも、突然ファ :イルサイズはが膨らんだりするのかしら?そしてときどきガベージ :コレクトみたいな事が起こるのかな。 hole があるので物理的に消費してないはずです. ls -ls hoge.dir してみてください. :なぜ .dir と .pag のファイ :ルサイズは一致しているのか? たぶん GDBM の ndbm emulation だと思うんですけど, たんなる hard-link です. #Berkeley DB の場合はそこまで仕様を合わせてないので .db 一個です. -- わたなべひろふみ