|
|
|
|
|
by dragontamer
1761 days ago
|
|
> It is not as if a 4-core machine can do 4 times the DB work if you only allow it. If Thread#1 goes "lock. write. unlock", then that means Thread#2, #3, and #4 all have to wait until Thread#1 is done with the write. Even if Thread#2/#3/#4 have the data in their CPU-cache, they have to wait for Thread#1 to be complete. -------- If Thread#1 is writing to a __hard drive__, that means Thread#2, #3, and #4 are waiting on a hard drive read, when they could have instead been reading from L3 cache. SQLite's model scales extremely poorly in practice. You run into all sorts of problems like this. |
|
You are describing the best case. Where everything is in a cache close enough to the CPU that it is not impacted by the other CPUs data access.