Recently, a workstation PC was reviewed on a well-known PC hardware site that included a Quadro video card, but no ECC memory. In the comment section of that review, a heated discussion occurred with different readers arguing about whether the lack of ECC RAM was a good or bad thing in a workstation. One side argued that ECC is great for workstations since it is much more stable (as explained in this Advantages of ECC Memory article) and stability is very high priority for a workstation. The other side claimed that ECC memory was slower than non-ECC so it wasn't the right choice for a high-end workstation where performance was a priority.
Much of the ECC versus Non-ECC argument comes down to speed versus reliability. The reliability argument at least is easy to validate; over the last 12 months we've seen a tiny .09% failure rate with ECC memory compared to a .6% failure rate for standard memory. As for performance, we've actually tested RAM performance in the past and found that faster memory does not always equate to better performance since the RAM is often not the bottleneck.
This guest article by Matt Bach was originally published on the Puget blog. Matt has been with Puget since the early days working in the various subsets of production and is currently the head of Puget Labs.
However, the expected performance drop of ECC RAM is slightly different than what we saw in those tests since it's due to the extra error checking process rather than slower timings or frequency. In fact, Crucial has a statement on their knowledge base that ECC memory will decrease your computer's performance by about 2% compared to standard memory.
Alas, to settle the question of whether ECC actually lowers system performance we ran a series of benchmarks with standard RAM, ECC RAM, and Registered ECC RAM that all run at the exact same frequency, timings, and voltage.
To examine the performance of the three kinds of memory, we used the following hardware:
|CPU||Intel Xeon E5-2680 V2 2.8GHz Ten Core|
|CPU Cooler||Corsair Hydro Series H60 CPU Cooler (Rev. 2)|
|Video Card||NVIDIA GeForce GTX Titan Black 6GB|
|PSU||Seasonic X-850 850 Watt|
4x Kingston DDR3-1600 8GB
4x Kingston DDR3-1600 8GB ECC
4x Kingston DDR3-1600 8GB Reg. ECC
|Hard Drive||Samsung 840 Pro 256GB|
|OS||Windows 8.1 Pro 64-bit|
This setup is identical to one of Puget's most popular workstations - the Genesis I. Plus, the Supermicro X9SRA motherboard and Intel Xeon E5-2680 V2 can both utilize either standard, ECC, or Registered ECC memory as long as the total size stays below the RAM threshold for each type, which makes it an ideal platform for comparing RAM performance.
Since we are primarily concerned about how each of the three RAM types compare in terms of performance, we will be presenting all of our benchmark results as a percentage of the standard RAM's performance. So the standard RAM will always be 100%, and the ECC and Reg. ECC will be either above or below depending on the benchmark results. If you would rather see the actual benchmark results, we will also provide those in a link below the main chart.
Our first benchmark is Geekbench 3, which measures single and multi-core CPU performance and includes a section dedicated to memory performance. Geekbench is intended to simulate real-world scenarios, but we've always found it to be more of a theoretical benchmark.
Already, our preconceived notions about ECC memory are completely thrown out the door. In Geekbench 3, ECC memory performed almost exactly the same as the standard RAM and in some situations was actually slightly faster. Oddly, Registered ECC memory (which we expected to perform the same as ECC memory) performed ~1-2% slower than standard memory in most tests, and almost 12% slower on the Multi Core Memory test.
This 12% performance drop in the Multi Core Memory is a little suspicious since it is just a little bit less than ten times the Single Core Memory performance drop which matches the number of CPU cores we have in our system. We ran Geekbench multiple times (upwards of a dozen for the Registered ECC memory) and the same 12% performance drop came up every single time. However, even if it this result is 100% accurate, Geekbench 3 is still a synthetic benchmark so this result may not actually manifest itself in a real-world situation.
PCMark 8 is a very well-known benchmark and if any benchmark could be considered an industry standard, this is it. PCMark 8 includes a number of different tests, but we chose to run the Creative Suite which is designed to simulate workloads of those that work with media and entertainment as well as the benchmark suites for Adobe and Microsoft Office.
Unlike with Geekbench 3, there are no huge performance differences here. ECC RAM performed .17-.61% slower than standard RAM and Registered ECC memory performed .48-1% slower. This is a really small number and frankly is hard to guarantee that it is not simply due to testing fluctuations. Still, taken at face value PCMark indicates a very small drop in performance with ECC memory, and a slightly larger drop in performance with Registered ECC memory.
Cinebench R15 is somewhat of a real-world benchmark since it uses the animation software CINEMA 4D that a number of studios and production houses across the world use.
The Shading - OpenGL test listed atop is a GPU-based test which should not be greatly influenced by the RAM. The other two, however, should be affected to some extent. In fact, the only test that gives more than a tiny fluctuation is the Single CPU Rendering test with both the ECC and Registered ECC RAM performing ~1% slower than the standard RAM.
Unigine Heaven Pro 4.0
Unigine Heaven Pro 4.0 is the only benchmark we will be using that is designed to measure a system's performance while gaming. Since we are primarily concerned about the performance of a workstation, gaming performance is not a huge priority. However, it is a good thing to include since it gives our benchmarks a little bit of variety.
While the ECC RAM performed up to 1% slower than standard RAM, Registered ECC actually performed better . This result was so unexpected that we ended up running this one benchmark over and over and over just to confirm the results. And while we still have a hard time believing it ourselves, we are positive that our results are accurate. With our test setup, Registered ECC memory is for some reason better than standard RAM when running Unigine Heaven Pro 4.0
During the testing process for every system Puget sells there are three different encoding programs as part of our benchmarks: Lame, Handbrake, and Windows Media Encoder.
These results really couldn't be any closer together than they are. At least for these three programs, the supposed performance loss of ECC memory simply is not a factor.
Adobe Photoshop CC
To benchmark Adobe Photoshop CC, we used the Photoshop Benchmark V3 benchmark from Hardware Heaven. We've used either this benchmark or a variation of it a number of times in the past, including in our Adobe Photoshop CS6 GPU Acceleration and Adobe Photoshop CS6 Memory Optimization articles and found it to work really well.
Overall, there is about a 1% total variance in performance across the three types of RAM. However, if you look at the individual benchmark results, you will see that the majority of this difference comes from just two effects - Extrude and Ink Outlines. For some reason, Standard RAM performed slightly slower when applying the Extrude effect and ECC RAM performed slightly slower when applying the Ink Outlines effect.
Just like Unigine Heaven Pro 4.0, we ended up running this benchmark a ton of extra times to make sure we didn't have a weird outlier but we kept coming up with the exact same results. Since pretty much all of the performance difference came from those two outliers, we would actually say that Photoshop CC shows little, if any, performance difference with ECC or Registered ECC memory despite what the total benchmark results indicate.
Adobe Premiere Pro CC
To benchmark Adobe Premiere Pro CC, we used the PPMB6 benchmark. This benchmark encodes a number of different timelines using a variety of encoding methods. It also includes a set of benchmarks that compare the time it takes your system to encode a timeline with GPU acceleration both on and off.
Here there are no outliers to confuse our results. The largest performance difference we saw was only about .1% which is more than small enough for us to attribute to normal testing variations. So for video encoding, the RAM type made absolutely no difference at all.
While it's true that you can get standard RAM that runs at a higher frequency or with tighter timings than ECC or Registered ECC memory, when simply comparing ECC to non-ECC memory our benchmarks have shown that the performance difference is almost negligible. In fact, if you compile all the results from our testing you end up with the following chart:
|Relative Performance||Standard RAM||ECC RAM||REG ECC RAM|
|Unigine Heaven Pro 4.0||100%||99.1%||100.36%|
|Adobe Photoshop CC||100%||99.5%||100.6%|
|Adobe Premiere Pro CC||100%||100.1%||99.97%|
In the real-world benchmarks (Audio encoding, Photoshop CC and Premiere Pro CC), there was little if any drop in performance with either ECC or REG ECC memory. In fact, they actually benchmarked better than standard memory in many cases. Overall, ECC RAM was just .25% slower than standard RAM and Registered ECC RAM was .44% slower. This means that, on average, the performance loss from using either ECC or Registered ECC memory is tiny and certainly nowhere near the claimed 2% that we have seen online.
Of course, this is merely a sampling of the nearly unlimited number of programs that you can run on your computer. The outliers alone indicate that there will be programs that see a noticeable drop in performance with ECC or Registered ECC memory. However, for the majority of programs and situations, the small drop in performance is likely going to be so little that without specific benchmarking you would never be able to tell.
If you absolutely need the fastest system possible and if fractions of a percent actually do make a difference, then ECC might not be right for you. But our testing has only furthered our belief that in any other situation, ECC memory is simply a better choice than non-ECC memory due to its incredible reliability with only a tiny loss in performance.