Sqllite do have buildt in support for multithread, same with all the “big” database servers…
for python, both “db-api 2” and “Psycopg2” also support multithread connections…
But that’s not the same as it being a easy job to change Gramps to benefit from it…
And another question would be, what prosesses would beneif from true multithread in Gramps?
First of, it would help anything if you have your data on a harddrive, its not sure even a sata ssd would give enough read/write speed to benefit from multithread database connections…
… and then its the Gramps it self, what prosesses would benefit from MT? I know drawing large graphs and diagrams would gain from it, if the libraries used utilize MT (most python 3 do i think)…
maybe search, but then again, that would depend on the database and database connection and the read/write for the hardware
But things like adding information, writing text, adding media, adding map points, will it benefit from it at all?
What do people use that actually would benefit from full MT in Gramps?
What gramplets are used that would benefit from this?
This is the question we need to answer before we ask for developers to do that kind of changes…
I think that for the graphic part, there would be some benefits from both MT database connections and MT prosesses in Gramps (i have never even thought of if Gramps Python scripts do use multple threads when executing)…
I use Gramps on Windows so the biggest issue I have is the initial startup time (most likely the time it takes to read the zip files)…
I’m in the route of getting a new workstation now, where Windows will be installed on a pci-4 nvme ssd, and all databases, postgresql, mongodb, and sqlite will be installed on a 4x nvme ssd 4TB RAID0, when that system are up running in a few month, i will write a little report about time differences when using my near 800k place database, both in sqllite and mongdb…
the system will build on amd ryzen 7 or 9 and with a minimum of 64GB ram (most likely 128 GB)… and the system I have today is a intel i7 4820K with 32GB ram with SSD’s for OS and Databases on different SATA SSD’s on SATA 3 connections, so this upgrade will be something that would be a “normal” upgrade for many people…
A 6-10 year old computer updated to a new system, even though most people maybe will go for a Ryzen 5 with 6-cores…
I will also build a Epyc Workstation, but that will not happen untill there are some full featured pci-4 Motherboards out there (at the moment its only one and its near impossible to get one here in Norway)… but I will of course test the speeds on that also when its up running… (don’t think it will have any speed improvements from a “normal” pc build on latest Ryzen or Intel arcitecture)…