Sunday, March 20, 2011

Maximizing SolidWorks Performance (Results)

As many of you may know Josh Altergott and I did a presentation at SolidWorks World this year in San Antonio titled "Maximizing SolidWorks Performance".  The presentation was well received and we thought it would be a good idea to share the information with more than just the SolidWorks World attendees.

 The goal of this presentation was to determine the most effective changes that could be made to a SolidWorks environment and to SolidWorks modeling methods in the hopes of improving the performance of the software.  This link will take you to an article that describes our premise in a little more detail.  http://blog.cati.com/2011/01/maximizing-solidworks-performance.html.  Basically, we wanted to see what makes SolidWorks move faster and prove it.


To determine what makes SolidWorks perform we had to test each individual item "individually".  The process we used to accomplish this follows:



  • We ran a baseline test with the machine, the OS, the model, and SolidWorks all setup in a specific manner.  That test took ~7hrs and 50mins to run.

  • Next we changed one item. (ie. we changed our SolidWorks system options to what we believed to be the optimal)

  • We then ran the exact same test and measured the difference.

  • After that we would set everything back to the baseline and change something different.

  • Again and again until we checked everything we could.


The Base line


In our experiment it was required to have a fixed point of comparison.  Our baseline configuration is described as Beaker2011.  (You may remember Beaker as the hapless assistant to Dr. Bunsen Honeydew in the Muppet Labs sketch on the Muppet Show in the late 70's and early 80's.  http://muppet.wikia.com/wiki/Beaker). We abused our Beaker almost as heanously as Dr. honeydew abused the original.  Here's how our baaseline was configured:


The Model



  • The model is a conglomeration of several models that were brought to us by customers because performance was lacking.

  • The directory that holds the model is 2.4GB

  • 6637 total components

  • 5862 parts

  • 775 sub assemblies

  • 663 top level mates

  • 13011 bodies


The machine



  • Dell T5500

  • 1 - 2.4Ghz processor running 2 cores

  • 6 GB RAM

  • Windows 7 64bit OS

  • Nvidia Quadro Fx 4000 Video card

  • SolidWorks 2011 SP1.0

  • 1 - 1TB 7200 RPM drive for storage

  • 3 - 320 GB 7200 RPM drives RAID 0 for the OSBeaker1Beaker2


 


The environment



  • File stored in the current version

  • Files stored locally

  • Swap set to OS default

  • Storage on a single disk

  • Assembly is fully resolved

  • SolidWorks system options set to defaults

  • Several Add-ins turned on

  • RealView Graphics turned on

  • Image quality set high

  • OS and user settings set to defaults

  • High level of detail in purchased parts


In our tests we run the same macro each time.  It puts the model through a series of modeling changes, view changes, rebuilds, etc... to not only show how much of a performance increase (or decrease) we can get but also where we can expect to see that difference (ie. modeling, rotations, rebuilds, opens, closes, saves, etc...)  When our baseline ran we saw these results:


Baseline


All of our tests are compared to this graph.  The Y axis of this graph is total time spent doing these operations measured in seconds.


In the subsequent articles in this series we are going to explore each test that we did starting with the change that produced the least amount of improvement to SolidWorks performance and continuing through the change that produced the largest amount of benefit.  We will finish with 2 optimal configurations to see what the effect can be when you combine all of these improvements together into the same environment and model set.  Occasionally we will veer off track and discuss a side topic here and there as well.


It is also important to realize that the results that we found in our tests are specific to our model, environment, configuration, and even the phase of the moon.  Results that you see may be slightly or extremely different.  We worked very hard to make this produce results that will give, at least a ball park idea of what can be expected elsewhere, but realizing that we cannot determine what other environment may hold, we will not garauntee the effect these changes will have in any environment other than ours.


I hope you find these articles informative and helpful.


Adrian Fanjoy



No comments:

Post a Comment