On Mar 3, 2017, at 1:13 PM, Andrew Brown <[email protected]>
wrote:
>
> This is being run on 64 and 72 core machines, and the more cores I run it on,
> the slower it ends up going.
What happens if you rework the app to do only one thing, single-threaded, but
run between 64 and 108 instances in parallel on the same system? (108 == 72 *
1.5, a common work factor value for parallel applications.)
You can use a tool like GNU parallel to manage the work queue:
https://www.gnu.org/software/parallel/
If nothing else, this would separate out the in-process locking from the file
locking, thereby making more clear where the delays are coming from.
Your __raw_spin_lock() result isn’t terribly enlightening because that’s a very
low level Linux kernel mechanism. It doesn’t tell us whether the slowdown is
due to file locking in SQLite, mutexes in SQLite, some non-optimal pthreads use
in .NET Core, etc.
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users