2009-05-19 16 views
7

パフォーマンステスト中に、iPhone 3.0で提供されているSQLiteバージョンがわかったので、自己コンパイル済みのSQLiteバージョンが大幅に高速化しました。だから私の質問は、Appleがどのコンパイルオプションを使用したのかを知る方法はあるのでしょうか?コンパイルオプションを使用してSQLiteを構築する方法を知る方法

デフォルトの設定pragamsとsqlite3_configの設定をすべて出力するテストアプリはありますか?

答えて

1

プラグマの設定が異なるだけがデフォルト2000ですが、iPhone上でそれがこれで設定コンパイラ読んで取得することが可能ですいくつかのシステムでは500

あるCACHE_SIZEあるように見えます: objdumpのを - -full-contents -section .GCC.command.line

2

libsqliteには、すべての可能な並べ替えを試してみるだけで、Appleがカスタム修正を加えていない限り、どちらが同じ動作をするかをテストするのは簡単です。 sqliteのバージョン番号を返すsqlite3_libversionを呼び出すことができます。

6

プラグマ(またはリンクされたドキュメントの関連機能)を使用すると、SQLiteをビルドするときに使用されたコンパイル時のオプションを表示できます。ただし、このプラグマ(および関連する関数)の可用性は、コンパイル時に有効になっているかどうかによって異なります。 SQLiteのドキュメントは言う:

sqlite3_compileoption_used診断機能のサポート()とsqlite3_compileoption_get()はコンパイル時にSQLITE_OMIT_COMPILEOPTION_DIAGSオプションを指定することにより省略することができます。

したがって、配布時にこの機能がコンパイル時に有効にならなかった可能性があります。つまり、オプションを表示できないことがあります。

関連する問題