I made an experiment:
1. I have 10 different parts, some of them have a few dozen configurations, while some of them have a few hundreds or even thousands configurations. All these parts are fully designed in Solidworks using configuration tables.
2. I created an assembly with one instance of each of these parts. Saved everything (both the assembly file and these part files) to a folder on my desktop. Total size of this folder is 500 MB.
3. The time it takes to open this assembly in Solidworks (fully resolved) from Desktop (my hard drive is SSD) is 4-5 seconds.
4. I moved this assembly to a network computer (just in case you are suspecting references to files on my desktop from step2: again,I have moved the assembly to a network, not copied it). The time it takes to open this assembly from a network computer using a standard "Windows share" folder in "fully resolved" mode: 12 seconds.
5. The time it takes to fully download this folder (assembly + part files) from a network to my computer: 45 seconds!?
This kind of suggests that Solidworks does not fully load all part files into memory even when opening an assembly in fully resolved mode. Then I thought that maybe it loads the parasolid data without fully opening the part file, and the need for additional information from the file (like selecting another configuration of the part) would invoke to fully download the part file to the current computer's memory. But I selected another configuration of the part (which is 150 MB in file size) in the assembly, and it changed instantly. My network speed is 10-11 MB/s, meaning that it should have taken about 15 seconds to download that part file, and I would have definitely noticed the lag.
So, out of curiosity - would somebody explain how the data is being managed when opening the files in Solidworks? All those parts where in "resolved" state, I thought it should mean they are fully loaded into memory - but they are definitely not. In that case, how does the Solidworks get the information of another configuration of the part, when I change it in assembly? Is it possible to read only the "fraction" of the part file, where the data for that exact configuration is saved, instead of loading the full part file?