Just use concurrency and/or parallelism and start from the very beginning KiCad launches. Main thread handles the user, while libraries are loaded in the background.
I’m pretty sure there is already a ticket with exactly that plan laid out. The biggest problem is dev-time. Someone has to have the time do work on that
Another approach…
You can improve the Speed of Loading Footprint and Symbols…
Consider that Kicad comes loaded with many, many Footprints and Symbols but, not many folks need/use most of them.
They bog-down loading/speed.
You can Un-check the one’s you don’t want to auto-load: Manage Footprints and Symbols from the Main Menubar.
You can always Add back any you might want to use or assess…
My system already has many Un-checked (and takes 8 seconds to load).
But, for the video below, I Un-checked more that I won’t need and the new Loading Speed is too fast for Kicad’s timer to get data and post result-panel (i.e, Load took about two seconds…)
I setup a Timer to show the difference from start-click to stop-click. I did Not bother to demo same thing for Symbols but, you get the idea…
ADDED: Fyi… I logged out/back-into computer between the two tests to ensure there were no lingering threads that might mask the times…
I am one of them
I know very well a large multinational company that loads a single library (Altium in this case) with all the components of all its projects.
Currently they have a big problem because the loading of this library requires a lot of time and resources. A real headache for designers every time they add, remove or modify something.
In the end, and after several years, they still don’t know how to solve it. They have created a monstrous library and are not able to implement another approach.
I have always used one library per project (or group of projects) with great satisfaction.
I disabled all unnecessary libraries.
I also created some libraries where I copied only the parts I needed and removed the unnecessary ones.
If you are using Windows operating system, Windows Security slows down the loading speed of libraries.
I use only my libraries and I don’t see a problem
We’d like to speed up library loading, and / or handle it in the background so users don’t have to wait the first time they open the symbol or footprint dialogs. But I’m afraid it’s more complex than ‘just using concurrency’, otherwise we’d already have done it. Another improvement vying for developers’ time…
Libraries need to be on a local SSD drive. Fragmented traditional hard disks , network drives and USB drives all make things much slower