Recently, we have published a number of articles testing various aspects of Solidworks including how well it is able to take advantage of multiple CPU cores. From that article, we determined that the best all-around CPU for Solidworks is going to be one with the highest operating frequency and a moderate core count. However, one thing that testing did not take into account was how much the architecture of the CPU can impact performance.
Currently, Intel has four processor product lines that a Solidworks user may be interested in. These lines and their current architecture are:
- Core i3/i5/i7 (Skylake-S)
- Xeon E3 (Skylake-S)
- High End Core i7 (Haswell-E)
- Xeon E5 (Haswell-EP)
Of these lines, the Core i3/i5/i7 and Xeon E3 are essentially the same products with a few minor feature differences. Likewise, the High End Core i7 and Xeon E5 are also closely related. When talking about performance, you can really combine these four product lines into two categories - the ones using the Skylake-S architecture and the ones using Haswell-E/EP.
What makes this distinction interesting is that the Haswell architecture is actually two generations behind Skylake-S. Haswell-E/EP allows for more cores and cache, but clock for clock a Skylake-S CPU should be faster than a Haswell CPU due to improvements in the architecture. What we want to do in this article is to determine how much of an impact using a newer CPU architecture has on performance in Solidworks. If you want to skip over our individual benchmark results and simply view our conclusions, feel free to jump ahead to the conclusion section.
In order to compare Skylake-S to Haswell-E/EP, we used two test systems with the following hardware:
|Motherboard:||Asus Z170-A||Asus X99 Deluxe|
|CPU:||Intel Core i7 6700K Quad Core 8MB
|Intel Xeon E5-1650 V3 Six Core 15MB
|CPU Cooler:||Corsair Hydro Series H60 CPU Cooler (Rev. 2)|
|RAM:||4x Crucial DDR4-2133 4GB (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|
In order to keep out testing as consistent as possible, the majority of the hardware was shared between the two systems. In fact, the only hardware that was not used on both was the motherboard and CPU. Since we want to determine how much the CPU architecture impacts performance, in addition to testing each CPU at stock settings we will also be locking both CPUs to run with only four cores at 4.0GHz. This way we will be able to look at how both CPUs compare normally as well as comparing Skylake-S to Haswell-E/EP in general.
To make sure our results are as accurate as possible we used a combination of Solidworks macros and a custom AutoIt script to start Solidworks, load the relevant test file, then time how long it takes to perform the various task we want to benchmark. The files we used were 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 begin our testing, we simply timed how long it took for Solidworks to startup. At stock speeds, the Core i7 6700K is about 34% faster than the E5-1650 V3. When both CPUs are locked to four cores at 4GHz, however, the E5-1650 V3 performance improves a bit due to the higher frequency but the 6700K is still 20% faster.
File Open & Save
When opening files, the 6700K is again faster than the E5-1650 V3 - this time by 30-37%. Locking the CPUs to four cores at 4GHz, the E5-1650 V3 actually gets worse by a small amount. It is not much, but it means that with an identical core count and frequency, a Skylake-S CPU should be about 34-35% faster than a Haswell-E/EP CPU.
For saving files the E5-1650 V3 actually did a bit better at stock settings but the 6700K was still 28-31% faster. With both CPUs locked, the 6700K was 27% faster when opening an assembly and 43% faster when opening a drawing.
When rebuilding our test assembly we interestingly did not see a difference in performance between the E5-1650 V3 at stock speeds and when it was locked to four cores at 4GHz. The 6700K did see a small drop in performance when limited to 4Ghz but even then the 6700K was about 30% faster than the E5-1650 V3.
Our motion study consists of a 10 second, 60 FPS animation. Oddly, the Xeon E5-1650 V3 performed worse with the frequency increased to 4GHz which is not what should happen since motion study is completely single threaded. No matter the reason behind this aberration, the 6700K was about 26% faster than the E5-1650 V3 at stock speeds and 28% faster when both CPUs were locked.
FEA and Flow Simulation
For the two flow simulations, the results were pretty much in line with everything we have seen so far. At stock speeds the 6700K was 11.5-13% faster while with both CPUs locked to four cores at 4GHz the 6700K was about 21.5% faster.
The interesting result was the FEA simulation where the E5-1650 V3 was actually faster than the Core i7 6700K. At stock speeds it was 15.2% faster and when the CPUs were locked it was 3% faster. This is unexpected because our multi-threading testing showed that the parallel efficiency for this task is only 70% which means that at stock speeds the 6700K should be faster than the E5-1650 V3 by about 7.5%. However, this doesn't even take into account the newer architecture which means that the 6700K should be even better. Since this is not what we are seeing, it is likely that the increased cache available on the E5-1650 V3 (15MB vs 8MB) is what is making the difference for this task.
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.
Rendering is extremely well threaded, so at the stock settings the extra two cores on the E5-1650 V3 makes a big difference. In fact, at stock the E5-1650 V3 is 13.1% faster for the pre-pass and 9% faster for the actual render. Overall, this makes the E5-1650 V3 about 10% faster than the Core i7-6700K.
When both CPUs are locked to four cores at 4GHz, however, the 6700K is significantly faster than the E5-1650 V3. In fact, the 6700K is 19.5% faster for the pre-pass and 28% faster for the actual render. In total, this makes Skylake-S clock-for-clock about 26% faster than Haswell-E/EP when rendering images in Solidworks.
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 around 60 FPS with a 6700K. A less complex model may show a different result between the two CPUs, 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 results with a 1080p display, at stock speeds the 6700K is about 32% faster without RealView and 29% faster with RealView enabled. With both CPUs locked to four cores at 4GHz, the difference is smaller as rotating and viewing models in Solidworks is single-threaded so the increase in frequency on the E5-1650 V3 results in an increase in performance. With both CPUs locked, the 6700K is only 20.5% faster without RealView and 16% faster with RealView enabled.
To summarize our results, here is the performance improvement we saw with the Core i7 6700K compared to the Xeon E5-1650 V3 for each test:
|Performance improvement with
i7 6700K vs E5-1650 V3
|Stock||Locked to 4 Cores @ 4GHz|
At stock speeds, the Intel Core i7 6700K was 13-36% faster than the Xeon E5-1650 V3. The only exception was rendering (which is highly threaded so the extra cores on the E5-1650 V3 makes a big impact) and FEA simulations where the E5-1650 V3 was actually faster. We are not 100% sure why the FEA simulation was faster on the Haswell-EP CPU, but our best guess it that it has to do with the increased cache available on that CPU (15MB vs 8MB)
When both CPUs were locked to four cores running at 4GHz, we get a pretty clear picture of just how important using the latest CPU architecture can be. We still saw a small drop in performance with the 6700K when performing a FEA simulation (which would make sense if it can take advantage of the extra cache), but for everything else the 6700K was anywhere from 15-35% faster than the E5-1650 V3.
This means that, clock for clock, Skylake-S is on average 23% faster than Haswell-E/EP in Solidworks. Since Solidworks is primarily single threaded, if you wanted to match the performance of a Core i7 6700K (which runs at 4-4.2GHz), this works out to needing to overclock a Haswell-E/EP CPU to about 5GHz. While this is possible to do with a lot of effort, it is not easy and would require specialized cooling. Even then, that would be a major overclock which would likely be unstable and considerably more expensive than simply using a Core i7 6700K.
Overall, we were actually impressed by how much of a performance difference there is between Skylake-S and Haswell-E/EP. We expected to see a 10-15% performance difference when using the same core count and operating frequency, so seeing a difference of up to 35% surprised us. Of course, this isn't a perfect comparison since the chipset and other factors are playing a role, but it does give you a very good idea of how much performance you would be giving up if you wanted to use a Xeon E5 or high end Core i7 CPU rather than a Skylake-S CPU like the Core i7 6700K.