============================================================ Mac OS X(10.7.4) への LevelDBのインストール ============================================================ Date: 2012/05/20 Written by YAMAMOTO Naoki MacBook Pro (CPU:Intel Core 2 Duo 2.26GHz, Memory:4GB) Mac OS X 10.7.4 Lion (64-bit kernel) □ ダウンロード http://code.google.com/p/leveldb/ の Downloads から最新版をダウンロードします。 leveldb-1.4.0.tar.gz □LevelDB のインストール $ tar zxvf leveldb-1.4.0.tar.gz $ cd leveldb-1.4.0 $ make □テストプログラムの作成 LevelDBはライブラリとして提供されるので機能を呼び出すためのプログラムを作成します。 テストプログラムは "00000000"〜"00999999" のキーと値を100万回 put するプログラムです。 // put_leveldb.cc #include#include #include "leveldb/db.h" #define NUM_RECORDS 1000000 int main() { leveldb::DB* db = NULL; leveldb::Options options; options.create_if_missing = true; leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db); assert(status.ok()); char str[9]; for (int i = 0; i < NUM_RECORDS; ++i) { sprintf(str, "%08d", i); leveldb::Slice key = str; std::string val = str; status = db->Put(leveldb::WriteOptions(), key, val); if (! status.ok()) { std::cout<<status.ToString()<<std::endl; break; } } delete db; return 0; } $ g++ -o putdb -O2 -lpthread -I../include ../libleveldb.a put_leveldb.cc $ ./putdb □ ベンチマーク テストプログラムのベンチマークを参考値として掲載しておきます。 ※ LevelDB はデフォルトの状態で使用しています。 $ time ./putdb real 0m4.538s user 0m3.931s sys 0m0.204s