nDiki : DB_File

DB_File

2004年2月8日 (日)

Berkeley DB 4.2.52 + DB_File 1.808 をホームにインストール

[ Perl ]

DiKicker の二次データの保存先を何にしようか思案中。 MLDBM::Sync が候補なのだが、MLDBM::Sync::SDBM_Fileだとデータが大きくなった時に速度が出ないようだ。

このサーバ(FreeBSD)のPerl(5.005_03)は、DB_FileGDBM_Fileも有効になかったので今までDBMパッケージの使用は避けてきたのだが、さすがに今回は使えないと辛いかも。

ということで Berkeley DB も含めて DB_File をホームにインストール

db-4.2.52

 tar zxvf db-4.2.52.tar.gz
 cd db-4.2.52/build_unix
 ../dist/configure --prefix=$HOME/local/db-4.2.52
 make
 make install
 rm -rf $HOME/local/db-4.2.52/docs

インストール自体は特に依存するものも無く簡単。 ただし、このサーバでは丁度 busy だった事もあってビルドに2時間!もかかってしまった。 本来は暇そうな時にやるべきなのだろうけど、今日中にうまくいくか検証しておきたかったので、待った。

DB_File-1.808

 tar zxvf DB_File-1.808.tar.gz
 cd DB_File-1.808
 export DB_FILE_LIB=$HOME/local/db-4.2.52/lib
 export DB_FILE_INCLUDE=$HOME/local/db-4.2.52/include
 perl Makefile.PL INSTALLDIRS=site \
                  LIB=$HOME/local/lib/perl \
                  INSTALLMAN1DIR=/tmp/man/man1 \
                  INSTALLMAN3DIR=/tmp/man/man3
 make OTHERLDFLAGS="-Wl,-rpath -Wl,$HOME/local/db-4.2.52/lib"
 make test
 make install

libdb を実行時に検索させるのに LD_LIBRARY_PATH環境変数とか指定したくなかったので、-rpath を指定してしまった。 Makefile中の OTHERLDFLAGS 変数がリンク時に空だったので、ここで設定。

しかし libdb-4.2 でかいな。 Perl からの呼び出し一発目は結構時間がかかる。

スポンサード リンク
[ 2月8日全て ]

2004年2月16日 (月)

[ Perl ] DB_File - DB_BTREEロック

ということで、DB_File::Lock が本命か。

Search::InvertedIndex では、key/value の value に next key と prev key を持たせていて(正確にはindex番号)、hash の中に自前でリンクリストを作ってしまっている。 これって十分なスピードが出ているのだろうか?

もしそうなら DB_BTREE をやめて、MLDBM::SyncDB_HASH で使うという手もあるのだが。

[ 2月16日全て ]

2004年9月1日 (水)

CGI::Session

Apache::Session 1.6 を使おうかと思ったら Windows XP + ActivePerl 5.6.1 だと make test が通らない。flock まわりの既知の問題らしい。

ということでやっぱり CGI::Session を使う事にする。 expire の処理などもこちらの方が良さそげ。

Perl 5.005_03CGI::Session

t/complex_ds.t、t/db_file.t、t/file.t でそれぞれ CGI::Session::File、CGI::Session::DB_FileCGI::Session::File の new メソッドが見つからなくて失敗する。 use base でうまく require されていない? それぞれ別途 use でロードするようにテストを修正すると通過。

ちょっと気持ち悪いが動くことは動く。

[ 9月1日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.046759s / load averages: 0.28, 0.28, 0.25
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker