Well, I guess this is looking more an more like a bug then.

I just went to the sqlite.org site to find out how I log a bug and it referred 
me back to here.  Perhaps this means I just need to *DECLARE BUG* here ;-)
Actually, I'll probably have some time soon to try out a profiler to see if I 
can figure out which mutexes are involved in causing the synchonising behaviour 
I seem to be experiencing.



> 
> I'm out of ideas about this. I understand that it shouldn't work this
> way and I don't understand why it does.
> Is it possible for you to run application in some sort of profiler?
> Obviously it should show that a lot of time is spent in waiting on
> some mutex and it will be able to show where this mutex is held
> from...
> 
> 
> Pavel
> 
> On Tue, Mar 9, 2010 at 1:02 PM, Luke Evans <luk...@me.com> wrote:
>> Hi guys,
>> 
>> Had to take a break for a couple of days from my SQLite experiments, but 
>> back on it now.
>> 
>> Pavel, regarding the question about VFS, I'm not using one to my knowledge 
>> and have set the "name of VFS module" to NULL in sqlite3_open_v2.  Maybe 
>> NULL means I'm using the standard VFS, but in any case, not a "non-standard" 
>> one.
>> I'm selecting from a real table.
>> 
>> Here are some more timings...
>> 
>> Shared cache ON.  6 of the same query issued (as before) within the 
>> multithreaded scenario.  All the queries bunch up and report complete more 
>> or less together.
>> 
>> 2010-03-09 09:32:33.013 SQLiteTest[16208:a0f] SQLite says multithreading is 
>> ON
>> 2010-03-09 09:32:33.015 SQLiteTest[16208:a0f] SQLite's multithreading value 
>> is 2
>> 2010-03-09 09:32:33.015 SQLiteTest[16208:a0f] SHARED CACHE IS ON
>> 2010-03-09 09:32:33.017 SQLiteTest[16208:1b03] Starting query on thread 
>> <NSThread: 0x10061e450>{name = (null), num = 3}
>> 2010-03-09 09:32:33.018 SQLiteTest[16208:5603] Starting query on thread 
>> <NSThread: 0x117e071c0>{name = (null), num = 4}
>> 2010-03-09 09:32:33.017 SQLiteTest[16208:4403] Starting query on thread 
>> <NSThread: 0x117e06760>{name = (null), num = 2}
>> 2010-03-09 09:32:33.018 SQLiteTest[16208:5503] Starting query on thread 
>> <NSThread: 0x10061ea70>{name = (null), num = 5}
>> 2010-03-09 09:32:33.019 SQLiteTest[16208:5703] Starting query on thread 
>> <NSThread: 0x10061e5a0>{name = (null), num = 6}
>> 2010-03-09 09:32:33.019 SQLiteTest[16208:5c03] Starting query on thread 
>> <NSThread: 0x10061e680>{name = (null), num = 7}
>> 2010-03-09 09:32:41.359 SQLiteTest[16208:5603] Finished query on thread 
>> <NSThread: 0x117e071c0>{name = (null), num = 4} in 8.34s
>> 2010-03-09 09:32:41.359 SQLiteTest[16208:1b03] Finished query on thread 
>> <NSThread: 0x10061e450>{name = (null), num = 3} in 8.34s
>> 2010-03-09 09:32:41.359 SQLiteTest[16208:4403] Finished query on thread 
>> <NSThread: 0x117e06760>{name = (null), num = 2} in 8.34s
>> 2010-03-09 09:32:41.359 SQLiteTest[16208:5503] Finished query on thread 
>> <NSThread: 0x10061ea70>{name = (null), num = 5} in 8.34s
>> 2010-03-09 09:32:41.360 SQLiteTest[16208:5703] Finished query on thread 
>> <NSThread: 0x10061e5a0>{name = (null), num = 6} in 8.34s
>> 2010-03-09 09:32:41.360 SQLiteTest[16208:5c03] Finished query on thread 
>> <NSThread: 0x10061e680>{name = (null), num = 7} in 8.34s
>> 2010-03-09 09:32:41.360 SQLiteTest[16208:a0f] Finished all queries in 8.34s
>> 
>> 
>> 
>> 6 of the same query executed in separate processes.
>> The query time is essentially the same as when you issue just a single query 
>> in the 'multithreaded' configuration above - as one would expect.
>> 
>> 2010-03-09 09:47:02.729 SQLiteTest[17083:a0f] SQLite says multithreading is 
>> ON
>> 2010-03-09 09:47:02.731 SQLiteTest[17083:a0f] SQLite's multithreading value 
>> is 2
>> SHARED CACHE IS OFFRead uncommitted is 1
>> SHARED CACHE IS OFFRead uncommitted is 1
>> SHARED CACHE IS OFFRead uncommitted is 1
>> SHARED CACHE IS OFFRead uncommitted is 1
>> SHARED CACHE IS OFFRead uncommitted is 1
>> SHARED CACHE IS OFFRead uncommitted is 1
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> Cache size is 100000
>> Page size is 32768
>> Temp store is 2
>> Synchronous is 0
>> On pid 17089, 3717 rows read in approx 2s
>> On pid 17088, 3717 rows read in approx 2s
>> On pid 17093, 3717 rows read in approx 2s
>> On pid 17090, 3717 rows read in approx 2s
>> On pid 17091, 3717 rows read in approx 2s
>> On pid 17092, 3717 rows read in approx 2s
>> 2010-03-09 09:47:04.323 SQLiteTest[17083:a0f] Finished all queries in 1.59s
>> 
>> 

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to