Solidworks is primarily a single-threaded application but, as we have shown in our Solidworks 2016 Multi Core Performance article, even most the multi-threaded portions will perform best with a medium core count, high frequency CPU. This means that the best all-around CPU for Solidworks is going to be one using the latest architecture along with highest operating frequency. At the time of this article, this is the Intel Core i7 6700K 4.0GHz Quad Core 8MB 95W.
While both Intel and AMD have some form of Turbo built into their products that allows the CPU to run above the base frequency when it is safe to do so, you can technically achieve even higher performance. To do so, you can overclock the CPU which involves running it above the manufacturer's specifications.
We want you to know upfront that here at Puget Systems, we do not encourage overclocking except in very specific situations. We value reliability in our systems above almost everything else and even a modest overclock will put your system at a higher risk of problems than a non overclocked system. That isn't to say that every overclocked system will fail or every non-overclocked system won't, but anytime you run a product beyond what the hardware manufacturer has qualified you are running a risk.
With our general bias clearly stated, the purpose of this article is to examine the performance effect of overclocking in Solidworks to determine if there is a significant enough performance advantage to outweigh the risks associated. If you want to skip over our individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.
For our test system, we used the following hardware:
|CPU:||Intel Core i7 6700K 4.0GHz Quad Core 8MB 95W|
|CPU Cooler:||Corsair Hydro Series H60 CPU Cooler (Rev. 2)|
|RAM:||2x Crucial DDR4-2133 8GB (16GB total)|
|GPU:||PNY Quadro M4000 8GB|
|Hard Drive:||Samsung 850 Pro 512GB SATA 6Gb/s SSD|
|OS:||Windows 10 Pro 64-bit|
|PSU:||EVGA SuperNOVA 850W P2|
|Software:||Solidworks 2016 SP 0.1|
This system is essentially the larger version of our Standard Recommended System for Solidworks to accommodate the closed-loop liquid cooler. To make sure our results are as consistent as possible we used a combination of Solidworks macros and a custom script using AutoIt to start Solidworks, load the relevant test file, then time how long it takes to perform the various task we want to benchmark.
To perform the actual testing, we used a mix of Solidworks training files and files available from GrabCad.com. These files and the associated test are:
|File Open & Save||Assembly - Vertical Twin Steam Engine with Reverse Gear (by Ridwan Septyawan)
Drawing - punch_holder (Solidworks Performance Test dataset)
|Motion Study||Gear Train Mechanism with Fixed and Swaying Axes (by trinityscsp)|
|FEA Simulation||FEA Benchmark V3|
|Flow Simulation - Airflow||Billboard - Lesson14 Case Study (Solidworks 2015 Flow Sim. training files)|
|Flow Simulation - Thermal||PDES_E Box overall - Lesson06 Case Study (Solidworks 2015 Flow Sim. training files)|
|Rebuild/Rendering||Vertical Twin Steam Engine with Reverse Gear (by Ridwan Septyawan)|
|Model Rotation||Audi R8 by ma73us|
To start off our testing, we timed how long it took for Solidworks to startup. The smallest unit of measurement we are using is a tenth of a second and, as you can see, both the 4.4GHz and 4.6Ghz overclock resulted in a difference that is as small as we could measure. This difference works out to be about a 3% improvement, although .1 seconds is so small that you could argue that it is within a reasonable margin of error for our testing.
File Open & Save
Starting with the time it takes to open files, we saw a decent increase in performance with overclocking. The 4.4GHz overclock resulted in about a 3.5% decrease in the time it took to open both a drawing and an assembly file, while the 4.6GHz overclock resulted in a 8.3% improvement in the time it took to open a drawing and a 6.2% improvement for an assembly file.
For saving files, we saw virtually no difference in the time it took to save an assembly file, although we did see an improvement with the drawing file. In our storage testing, we found that saving this assembly file was bottlenecked with the storage drive, so in this instance having a faster CPU doesn't make a difference. For saving a drawing file, however, we saw about a 3% improvement with a 4.4GHz overclock and a 9.5% improvement with a 4.6GHz overclock. Keep in mind, however, that since the save time is only ~3.5 seconds, even a .2 second improvement works out to be about 3%. So a 9.5% improvement may prove to be an optimistic amount of time savings.
Rebuilding our assembly took a fair amount of time, so we managed to save 4.5 seconds with a 4.4GHz overclock and almost 9 seconds with a 4.6GHz overclock. This works out to be a 3.5% and 7% improvement respectively.
Our motion study consists of a 10 second, 60 FPS animation. With a 4.4GHz overclock, it took .2 seconds less time to complete the calculations resulting in just under a 1% improvement in performance. With a 4.6GHz overclock, we saved exactly a second which works out to be a 4.6% improvement in performance.
FEA and Flow Simulation
Simulations often require you to wait on them before proceeding, so any time savings can be significant. However, with a 4.4GHz overclock we saw no difference in the time it took to complete the Flow simulations (worse performance, actually), and only a small 1.2 second improvement for the FEA simulation which works out to about a .5% improvement.
With a 4.6GHz overclock, the results are a bit better with a 3 second reduction in the time it took to complete the Flow simulations and a 6.2 second reduction for the FEA simulation. This works out to about a 1.5% and 2.5% improvement respectively.
In Solidworks, rendering is actually divided up into two steps: an irradiance pre-pass and the final render. The irradiance pre-pass typically only takes between 15-30% of the total render time, but for large renders that can still be a significant amount of time. Because of this we wanted to time both steps individually in case there was a significant difference in performance.
Starting with the irradiance pre-pass we see about a 1% performance improvement with the 4.4GHz overclock and a 3.5% improvement with the 4.6GHz overclock. For the final render we actually saw a slight decrease in performance with the 4.4GHz overclock (small enough that it is within the margin of error), but a 3% improvement with the 4.6GHz overclock.
Combining these two steps works out to exactly a 0% difference with the 4.4GHz overclock and about a 3% improvement with the 4.6GHz overclock.
The FPS you can achieve when rotating a model is going to be heavily dependent on the complexity of the model, the quality settings you use, and the resolution of your display. For this test, we chose to use a fairly complex model as it gives us right around 60 FPS with our test setup. A less complex model may show a different result between the two overclocks, but if you are already getting 100-200 FPS, even a 10% improvement doesn't really mean anything since the FPS is already much higher than the human eye can actually detect.
Starting with the 4.4GHz overclock, we saw between a 0-2 FPS increase at 1080p which works out to about a 0-2% performance improvement. Increasing the resolution to 4K (3840x2160) improved the performance gains a bit resulting in about a 2-3.5 FPS increase (or 1-2.2%)
For the 4.6GHz overclock, we saw a 1-2.8 FPS increase for 1080p for an improvement of between 1.5-5.6%. For 4K, the gains were between 1.6-3.1 FPS which works out to a 3-4.8% improvement.
Overall, we saw about a 1.3 FPS improvement with the 4.4GHz overclock and a 2.1 FPS improvement with the 4.6GHz overclock. This works out to be approximately a 2.2% improvement and 3.4% improvement respectively.
How much time will overclocking save you?
To summarize our results, here is the performance improvement we saw for each test:
|Average performance improvement over
stock Core i7 6700K (4.0-4.2Ghz)
|Core i7 6700K
|Core i7 6700K
Taking out the model rotation (since a higher FPS is more of a quality of life issue, not a time saving one), this works out to be on average a 1.7% improvement with the 4.4GHz overclock and a 4.1% improvement with the 4.6GHz overclock.
If you wanted to use this to determine how much time you would save with an overclocked CPU, a very broad way to do so would be to estimate the amount of time you spend simply per day waiting for a task in Solidworks to finish then apply the averages of the above results to determine how much time you would save:
|Time saved per day versus wait time||Core i7 6700K
|Core i7 6700K
|100% wait time (480 min a day)||8 minutes||19.7 minutes|
|50% wait time (240 min a day)||4 minutes||9.8 minutes|
|20% wait time (96 min a day)||1.6 minutes||4 minutes|
|15% wait time (72 min a day)||1.2 minutes||3 minutes|
|10% wait time (48 min a day)||49 seconds||2 minutes|
|5% wait time (24 min a day)||25 seconds||1 minute|
If you want to be more precise than the above chart and use the amount of time you actually spend waiting for specific tasks in Solidworks, we made a simple Google Doc that you are welcome to use that will calculate the amount of time savings you would see with either a 4.4GHz or 4.6GHz overclock. Using the chart above, however, we can estimate that if you spend 5% of your day (about 24 minutes) simply waiting for something in Solidworks to finish, you could save a whole 25 seconds by overclocking a 6700K to 4.4GHz or about a minute by overclocking to 4.6GHz. Even if you spend 20% of your day (about an hour and a half) just sitting watching Solidworks process a task, you would only be able to get back about 1.6 minutes with a 4.4GHz overclock or 4 minutes with a 4.6GHz overclock.
Time saved is time saved, but unfortunately overclocking (no matter the precautions you take) is going to carry with it some amount of risk. So in addition to the time saved aspect, you also need to consider the downsides associated with overclocking:
Risks of overclocking
There are a number of risks associated with overclocking, but in our opinion the big six are:
- System rebooting unexpectedly
- Failure to boot/POST
- Data corruption
- Inaccurate calculations
- Premature failure of components
Out of all the above, the first two are the most common. In the case of a unexpected reboot or bluescreen, you should (hopefully) only lose the work you performed since the last time you saved (assuming the auto-recovery cannot recover the files you were working on). If the system is in the middle of a large simulation or render, however, the time lost could be anywhere from minutes to hours. Even if this only happens a few times a year, that could potentially offset any time savings from overclocking.
Number three on the list - failure to boot/POST - is less common, but still happens more often on an overclocked system. The majority of the time, this issue can be resolved by clearing the CMOS (to remove the overclock), then re-applying the BIOS settings. If you are not comfortable doing this yourself, this would result in the machine being un-usable until either your IT staff can work on it or you can send it in for repair (which can take at minimum 3-7 days depending).
In a worse scenario, either an unexpected reboot or a bluescreen corrupts your OS. In that instance, you are likely looking at a complete re-installing of the OS which could take a significant amount of time depending on whether you need to ship the machine in for repair or not. Even if you have a backup machine, that is still a significant amount of time wasted.
Possibly the worst risk associated with overclocking is the chance of inaccurate calculations. One of the tests we do here at Puget Systems on all our machines is to run Prime95 which is a great CPU stress-testing utility. When using this program as a stress-test, it calculates prime numbers and compares them to a list of known results. If it detects a mis-match, it throws up an error alerting you that your system is giving inaccurate results. A small inaccurate calculation is likely not a huge problem for many tasks, but if you are doing a simulation (such as simulating the stresses on the brake pads of a car), a single wrong calculation can potentially have drastic consequences.
Lastly, since you are running the system beyond the manufacturer's specifications, you run the risk of one or more components failing sooner than they would otherwise. If you refresh your hardware every year of two this likely isn't an issue, but if you want to get as much life out of a system as possible overclocking is not a good way to do so. Plus, overclocking will usually void manufacturer warranties. If you purchase a system with overclocking included, a failed CPU should be covered by the system builder's warranty. However, if you are outside the system builder's warranty and the CPU fails, you will not be able to rely on Intel/AMD's warranty to replace the CPU.
This isn't to say that every overclocked system will have these issues (or that these problems can't happen on a non-overclocked system), but you are definitely at a higher risk of these issues happening when you have an overclocked CPU.
If most of the time the system is waiting on you - not the other way around - overclocking isn't going to do anything except introduce risks. However, if you spend a significant portion of your day sitting around waiting for a task to finish, overclocking may save you a minute or two a day.
Really, overclocking is a risk/reward situation and only you can make the judgement call as to whether it is worth it or not. At Puget Systems we highly value reliability in our systems, so we typically are of the stance that overclocking does not belong in a professional environment. However, all we can really do is to encourage you to evaluate how much time overclocking would save and weigh it against the risks we outlined in the previous section. Also, keep in mind that since an overclocked CPU runs hotter than one that isn't, an overclocked system will be louder and use slightly more power than a standard system (which is why we don't allow overclocking on our Serenity line of systems).
We expect some of our readers will have strong opinions on this subject, so we encourage you to leave your thoughts in the comments below. Do you think the time savings is worth overclocking you CPU, or are the risks simply not worth it?