On 25 Mar 2016, at 6:21pm, Domingo Alvarez Duarte <sqlite-mail at 
dev.dadbiz.es> wrote:

> One thing that I was expecting is that when using all core/threads (and
> because basically all data in in memory/cache) that I'll have around 100% cpu
> load but I don't, so there is something that is preventing usage of all
> system resources (cpu). 

SQLite is input/output bound.  It does far more reading and writing than it 
does processing.

This is so extreme that a lot of people who write multi-thread or 
multi-processing code find that it's a waste of time.  The extra 
threads/processes just queue up to access disk.

If you're using a memory database instead of disk the same thing applies: only 
one of them can read/write memory at one time (think about low level access to 
the memory chip).  Obviously, memory access is far faster than disk access, but 
it still means that CPU is not the bottleneck.

Simon.

Reply via email to