AnsweredAssumed Answered

large assembly file open - what does SolidWorks do in the background?

Question asked by Michael Hess on Aug 9, 2010
Latest reply on Aug 12, 2010 by Thilo Hawers

Hello Performance Gurus:


I'm trying to diagnose performance differences on different machines/setups with a "large" assembly (58 MB, 2100 parts).


I'm noticing that SolidWorks seems to go through three distinct phases when opening the assembly

(I have SW10 configured to not preview during loading, to autoload lightweight, and to not rebuild after load.

The assembly is opened [x] lightweight, not [ ] large assembly mode. Setups were matched.)


A. "nothing" is happening - SolidWorks is thinking

B. progress bar appears - SolidWorks is getting data

C. progress bar disappears, "nothing" is happening - SolidWorks is getting back to you


I am timing the different phases. I am also recording

D. File > Find References

after loading


If I report the results as A | B total (diff) | C total (diff) | D, I see this:

1.     2 sec | 38 sec (36 sec) | 81 sec (45 sec) | 41 sec

2.     5 sec | 48 sec (43 sec) | 100 sec (57 sec) | 60 sec

3.     17 sec | 80 sec (63 sec) | 130 sec (67 sec) | 80 sec

4.     5 sec | 41 sec (36 sec) | 93 sec (52 sec) | n/a

5.     11 sec | 67 sec (56 sec) | 121 sec (44 sec) | n/a


Does anybody know what SolidWorks is doing during those phases?


The five setups:

1.     local "entry level" workstation, Win7-64, accessing files locally

2.     corporate workstation, WinXP-32, accessing files locally, AV running

3.     corporate workstation, WinXP-32, accessing files over network, AV running

4.     corporate workstation, WinXP-32, accessing files locally, AV services killed

5.     corporate workstation, WinXP-32, accessing files over network, AV services killed

(There are just two computers here)


More Background: that assembly used to take 6+ minutes to load on a different machine, a 8x Xeon Processor machine with 38 GB RAM. It did not outperform machines costing 1/10 of that. I've had the first phase (the point when the process bar pops up) take 60 seconds on other corporate machines, with a slightly different version of the assembly. How, why? I did run Anna's benchmark, and machine 1 is quite a bit slower on that one than 2-5.


  • If you assume that phase B is the "file load" phase, then you could determine that turning off the AV gives you back, say 15%, of the file load time. All the machines are running different versions of the Seagate Barracuda 7200 rpm, so that phase should be somewhat consistent if files are opened locally.
  • But how could the slowest processor be the fastest during the thinking phases (A and C)? (machine 1: quad-core 2.44, machine 2-5: dual-core 2.67). Does the OS make a difference?
  • What happens during phase A for this to take anywhere between 2 and 60 seconds?
  • What happens during File > Find References once the file is loaded to give you a 2x performance difference?


I realize there are too many variables here, but I'm just looking for understanding of what SolidWorks does in the background to load files, build the models, and find the references - and perhaps how best practices help reduce time when working with larger assemblies. Does the files being lightweight make a difference here?


Any insights?


Thank You,