On Mar 3, 2017, at 1:13 PM, Andrew Brown <andrew.br...@economicmodeling.com> 
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
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to