seclan のほえほえルーム

| |

sqlite: sqlite 3.3.14 公開! amalgamation とは?

・
2007/04/05 []

sqlite 3.3.14 が公開されました。今回の目玉は amalgamation と排他アクセスモードの追加だそうです。

amalgamation とは何かと言うことで、辞書を引くと合同・合併と言うことです。今回ここで用いられている場合には、全てのソースファイルを単一ファイル sqlite3.c にパックしたということになります。その結果、sqlite3.c の大きさは、約2M バイトという巨大なものになってしまいました。何でこんなことをしたのかと言うと、二つの理由があるようです。

  • アプリケーションに組み込みやすくするため。今までは、複数のファイルに分かれていいため、それぞれをコンパイルし、ライブラリなどを作成し、リンクする必要がありましたが、今後は sqlite3.c と sqlite3.h をアプリケーションのディレクトリにコピーするだけで使えるようになります。
  • パフォーマンスの向上。単一ファイルにしたことで、コンパイラが静的な関係を解析することができるようになり、最適化しやすくなるとのことです。gcc を使った場合、3.3.13 よりも 35% もの性能向上になったことがあるようです。

amalgamation 対応版は、sqlite のダウンロードページの sqlite-source-x_x_x.zip というファイルに入っています。この中には、従来のものとは違い、たった二つのファイル sqlite3.h と sqlite3.c しか入っていません。したがって sqlite3 (sqlite3.exe) を作成するには sqlite-x.x.xx.tar.gz から shell.c を持ってこないと作成することができなくなったので、注意が必要です。



by seclan

関連


| |

 

配信

10.62 msec