Should I expect write performance over different database files on separate threads to scale?
Hi
I am experimenting with sqlite on a Macbok Pro M4 - 10 cores machine. I have a pthreads multithreaded program and i am trying to write lots of data to different databases (separate database connections) and (one database file per thread) and they are DIFFERENT files
I have THREADSAFE mode set to 2 (multithreaded) and i open the files with NOMUTEX flag.
Now i have read that the M4 Macbook Pro has a soldered SSD. And it has similar performance to nvme but it is not nvme
I get around 10000 transactions per second in total across all threads.
I tried synchronous=off and that boosts performance to 300000 transactions per second
Increasing the number of items inserted per transaction scales. But the number of transactions doesnt
I feel that IO is being serialised.
Some parts of web seem to suggest it is serialised. But i thought ssds can run things in parallel.
Does anybody know anything about parallel IO or if i need to enable it on macos?
I havent tried it on Linux or Windows
Would you expect transactions to scale by number of threads?
I have read about iokit but i have no knowledge of how to use it or Grand Central Dispatch