are you running the pure version of the sqlite driver? On Tue, Jan 20, 2009 at 3:10 AM, Christopher Mason < christopher.ma...@proteomesoftware.com> wrote:
> [Apologies for posting this here, but the sqlitejdbc list appears to be > defunct.] > > Hello. > > I'm noticing fairly severe performance difference between running a > complex query from the sqlite 3.6.7 command line and from within the > sqlite jdbc driver version 0.54 available at [1]. > > Sqlite command line: > real 0m44.708s > user 0m5.211s > sys 0m1.994s > > java: > 2.7min > > I've tried a number of things: > > * I've tried both sqlite 3.6.1 and 3.6.7 (I upgraded the jdbc driver > to .7); > * I've tried with and without the shared_cache option; this has no > effect for me. > * I've tried changing the optimization settings for sqlitejdbc to > match those of the command line tool I build and installed (-O2). > * Explicitly set the cache size of the > > > I've done some profiling [2] and the prevalence of > 'sqlite3_enable_shared_cache' in the java version is surprising. The > java version also uses significantly less CPU than the command line > version. > > I've copied and pasted the SQL out of the prepared statement, so I'm > confident that I'm running the same SQL. It's a single query, so I > doubt that JDBC/JNI overhead is to blame. > > Any help or ideas would be most appreciated! > > Thanks so much, > > -c > > > [1] http://zentus.com/sqlitejdbc/ > > > [2] > > Profiling with shark on Mac OS X 10.5.6: > > java: > self total > 0.0% 50.2% sqlite3_step > 5.5% 48.4% sqlite3_blob_open > 9.2% 40.0% sqlite3_randomness > 8.4% 25.1% sqlite3_enable_shared_cache > 2.1% 16.0% sqlite3_config > 5.4% 7.6% sqlite3_malloc > 1.1% 1.2% sqlite3_config > 0.0% 0.1% sqlite3_free > 0.1% 0.1% sqlite3_vfs_unregister > 0.8% 1.0% sqlite3_mutex_try > 0.1% 0.1% sqlite3_mutex_leave > 0.2% 3.3% sqlite3_value_type > 0.9% 2.7% sqlite3_os_end > 0.2% 0.2% sqlite3_mutex_try > 0.1% 0.1% sqlite3_snprintf > 0.3% 0.3% sqlite3_free > 0.2% 0.2% sqlite3_malloc > 0.1% 0.1% sqlite3_snprintf > > command line: > self total > 0.0% 64.1% sqlite3_exec > 0.0% 64.0% sqlite3_step > 8.6% 63.3% sqlite3Step > 0.3% 21.0% sqlite3VdbeCursorMoveto > 6.0% 20.6% sqlite3BtreeMovetoUnpacked > 0.3% 10.6% moveToChild > 1.0% 10.2% getAndInitPage > 0.5% 5.1% sqlite3PcacheFetch > 3.0% 4.5% pcache1Fetch > 0.6% 0.9% pthreadMutexEnter > 0.2% 0.2% dyld_stub_pthread_self > 0.1% 0.1% dyld_stub_pthread_mutex_lock > 0.2% 0.2% pcache1PinPage > 0.2% 0.2% sqlite3_mutex_leave > 0.1% 0.1% sqlite3_mutex_enter > 0.1% 0.1% pthreadMutexLeave > 0.1% 0.1% dyld_stub_pthread_mutex_unlock > 0.1% 0.1% pthreadMutexLeave > 0.0% 3.3% sqlite3BtreeGetPage > 0.3% 0.3% btreePageFromDbPage > 0.0% 0.2% pagerPagecount > 0.1% 0.1% sqlite3BtreeInitPage > 0.1% 0.1% sqlite3PagerGetData > 0.1% 0.1% sqlite3PagerGetExtra > 0.1% 0.1% btreePageFromDbPage > 0.1% 0.1% sqlite3PcacheFetch > 0.3% 2.0% moveToRoot > 1.9% 1.9% sqlite3GetVarint > 0.1% 0.1% sqlite3Get4byte > 0.1% 0.1% sqlite3PagerUnref > 0.1% 0.1% sqlite3GetVarint > 0.1% 0.1% sqlite3Get4byte > 1.5% 15.1% sqlite3BtreeMovetoUnpacked > > > > -- > Christopher Mason Proteome Software (503) 244-6027 > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- Jim Dodgen j...@dodgen.us _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users