Maximizing SOLIDWORKS Performance (MSWP-12-#1)
For the 3rd year in a row Adrian Fanjoy and I have done one of our favorite SOLIDWORKS World presentations, "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.
We will be publishing our presentation thru a series of blog articles so check back to the blog often to see what we have added to the series. We have also included a set of links at the bottom of this article that will take you to all the future articles.
To get the series started we are starting with Who, What, When, Where, Why and How of putting together this information.
From the standpoint of performance in a SOLIDWORKS modeling environment; large assembly modeling is the most strenuous endeavor. Large assemblies can easily take a workstation to the limits of its capability. We have, over time, determined many different means of improving performance for SOLIDWORKS but we never could quantify the improvement or determine if the improvement was worth the investment.
To overcome this dilemma we decided to create a benchmark from the ground up. We created a large assembly, built a macro that would run the model through many aspects of SOLIDWORKS utilization, and began measuring SOLIDWORKS performance in a manner that had never been done before. In our tests we isolate individual changes in our environment and measure the time difference of running the benchmark against the baseline. This allows us to measure the effect of a single change and then compare that to other changes to determine where to invest time and resources to improve SOLIDWORKS performance.
Please realize that the results that we are presenting in this document are specific to our environment, models, and tasks performed. While we are certain that you can expect similar results when making such changes, the magnitude of your performance increase will definitely be different than ours. When working with large assemblies the benefits that you realize may be more or less than ours overall you should see an improvement but realizing that we cannot determine what other environments may hold, we will not guarantee the effect these changes will have in any environment other than ours.
To determine what changes make the most significant difference in modeling performance we ran our model through a custom SOLIDWORKS macro that performed operations common in a typical designers day (ie. modeling, rotations, rebuilds, opens, closes, saves, etc…). We tested many specific aspects in the categories of hardware, system configuration, and modeling methodology.
To run tests of this nature and insure that the integrity of the testing was maintained we needed a system that was extremely adaptable. Boxx Technologies provided that workstation. The 3D BOXX 8550XTREME Workstation gave us the ability to test a wide range of configurations without jumping from one workstation to another which would have made maintaining consistency in our configuration almost impossible. This ability to adapt allowed us to run tests that ranged from:
- 1 core to 12 cores
- 3.42GHz to 4.43GHz processor speeds
- 2GB to 24GB of RAM
We were also able to run tests on 10 different hard drive configurations include standard and solid state hard drives, different RAID configurations, and different options for storage, swap, and OS locations.
Our model is a combination of several models that our customers have sent to us over time because they were experiencing poor performance. Since these models are from our customers they are not available for the public. However, we can give you the stats. They are:
- 6637 total components
- 5862 parts
- 775 sub-assemblies
- 663 top level mates
- 13011 bodies
In total it takes up 2.4GB of disk to store the model.
For our baseline test we chose to run the benchmark in a manner that we felt was consistent with typical environments that we see with customers.
The core aspects (These never change)
- SOLIDWORKS 2012 SP1
- WIN7 64bit OS
- 1 Xeon processor with 2 cores @ 3.46GHz
- 8GB RAM
- OS and assembly storage on the same 7200RPM hard drive
- SOLIDWORKS options set to defaults
- Files are stored locally
- Swap is managed by the operating system
- Several Add-Ins are turned on
- Operating system visual settings are set to default
- Image quality set too high
- High level of detail in some components
- Large number of top level mates
- Assembly is fully resolved
With our environment configured as above our benchmark ran in 5:01:35. Most of the comparisons that follow in our blog articles will be compared to this baseline.
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 to 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.
I hope you find these articles informative and helpful.
Please check back to the CATI blog as we will continue posting our series of articles that goes further into the details of each of our tests. All of these articles will be stored in the category of Maximizing SOLIDWORKS Performance and links to each with their release date are listed below:
- Maximize SOLIDWORKS Performance White Paper (7/2/12)
- MSWP-12-#1 Introduction (7/9/12)
- MSWP-12-#2 Windows Visual and User Settings (7/12/12)
- MSWP-12-#3 SOLIDWORKS Options Set to Optimal (7/17/12)
- MSWP-12-#4 Graphics Cards (7/19/12)
- MSWP-12-#5 Turn Off SOLIDWORKS Add-Ins (7/24/12)
- MSWP-12-#6 Processor Clock Speed (7/26/12)
- MSWP-12-#7 Reducing SOLIDWORKS Mates and Rigid Subassemblies (7/31/12)
- MSWP-12-#8 Number of Processor Cores (8/2/12)
- MSWP-12-#9 SOLIDWORKS Graphic Settings (8/7/12)
- MSWP-12-#10 Network Storage and Anti-Virus (8/9/12)
- MSWP-12-#11 Level of Detail (8/14/12)
- MSWP-12-#12 RAM and SWAP File (8/16/12)
- MSWP-12-#13 Hard Drives (8/21/12)
- MSWP-12-#14 Lightweight and Large Assembly Mode (8/23/12)
- MSWP-12-#15 Optimal Configuration and Conclusion (8/28/12)
Josh Altergott, CATI Support Manager
Adrian Fanjoy, CATI Technical Services Director