2007年10月05日

SQLite性能評価その2

SQLite性能評価その1」の続きです。
SQLiteは、ファイル名を":memory:"とすると、インメモリデータベースを構築します。
このとき、前回のCase1とCase2の処理時間を測ってみました。

トランザクション明示的指定の有無による処理時間の変化(インメモリ版)

測定環境は前回と同じです。

コードは、前回のCase1とCase2の以下の部分を、

sqlite3_open("testdb.sq3", &Db);

以下のように置き換えるだけです。

sqlite3_open(":memory:", &Db);

それぞれCase1(Memory)、Case2(Memory)と呼ぶことにします。

測定結果

測定結果は以下のようになりました。 データベースのopen、closeや、CREATE TABLEの時間は含めていません。
処理時間
ほとんど差はありません。インメモリデータベースの場合は、トランザクション処理を明示的に指定しなくても問題はないようです。

Case2だけ前回との違いも比べてみました。
処理時間
25%減です。 ファイルアクセスがなくなったのに思ったより速くなりません。
というより、ファイルアクセスありでも速い、と言うべきなんでしょう。

SQLiteの性能評価その3」に続きます。

投稿者 MASATO : 2007年10月05日 06:53 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?