Are you using speedpak and lightweight resolution?
We require that within the full model there exists no instances of lightweight or speedpack.
I have noticed that lightweight and speedpack both have potential to mask issues preventing successful rebuild.
Well, if you're not using either of those, you should expect performance issues because of the size of your assemblies. To save components externally traverse the components, check if they are virual using IsVirtual and then you use 2011 SOLIDWORKS API Help - SaveVirtualComponent Method (IComponent2).
Nota: This is going to take a long time.
What do you mean by "potential"? Does that mean you haven't tried them?
The usage of 2017 SOLIDWORKS API Help - IsVirtual Property (IComponent2) with 2017 SOLIDWORKS API Help - SaveVirtualComponent Method (IComponent2) provides the basic functionality required.
The system also required a replace op and some PDM ops.
Historically, we have used both lightweight and speed-pack; these features are excellent, but remove precise edit-ability.
The new Quadros and i9's provide plenty of horsepower for full resolution, given there exists no requirement to rebuild upon entry. These virtual parts were chewing up valuable engineering time while we waited on disk ops.