Comparing thermals, clocks and performance of R5 3500X and i5-9400F under Linux
Intel versus AMD is a hot topic and there is a lot of benchmarks on the web. I wanted to do a behavior comparison of similar Intel and AMD CPUs - check their thermals, which runs hotter, how do they clock under various loads and which of them will be faster. I've picked two 6 core 6 thread processors – rare Ryzen 5 3500X and Intel i5-9400F. Let's jump into the comparison.
i5-9400F versus R5 3500X
Lets take a look at the CPUs first. i5-9400F is a well known Intel CPU priced in Europe at around 155 EUR. The R5 3500X is a Ryzen CPU available on the Asian markets are usually not available in other regions where R5 3600 reigns supreme. A tray version from Aliexpress can cost around 110 EUR - if you find any available as AMD isn't keen on having sales of this model outside intended markets. The price may be higher with shipping and other costs of ordering from China depending on your location.
|Core count||6C / 6T||6C / 6T|
|Batch||Microcode revision 906EA B4||BF 1928SUS
Made between 8-14 July 2019, silicon wafer from Saratoga, ATMP in Suzhou, China
|All core turbo||3900MHz||4100MHz|
|Single core turbo||4100MHz||4100MHz|
|Rated RAM frequency||2666MHz||3200MHz|
|Max memory bandwidth||39,74 GiB/s||47,68 GiB/s|
|PCIe lines||16 PCIe 3.0||20 PCIe 4.0|
CPUs are quite similar to each other. 9400F has lower base clock but can boost to same 4100MHz in single threaded loads. At multicore it's bit lower. AMD product can reach 4100MHz on all cores but it frequency can vary based on thermal headroom - if it's to hot it may limit the boost frequency.
Both are six core and six thread and should perform quite similarly. Intel will have lower inter core latency where as AMD will have memory frequency and bandwidth advantage and those differences may play some role in specific workloads.
3500X is very similar to popular R5 3600. The difference that it lacks hyper-threading which is a downside in some productivity apps while games are usually not affected by lack of hyper-threading. A Czech website pctuning.tyden.cz benchmarked R5 3500X from same batch in games and apps under Windows. Hardware Unboxed, Gamers Nexus and other content creators put the R5 3500X to the test against all other modern CPUs including R5 3600 and i5-9400F so you can check them out if you want standard Windows performance numbers.
The more interesting questions are like which runs hotter and which one can hold higher boost clocks? To check this I used Ubuntu 19.10 and Phoronix Benchmark Suite with CPU clocks and temperature logging.
2 x 8 GB G.Skill Ripjaws V (F4-3200C15D Samsung B-die)
Tested at 2133MHz plus 2666MHz for Intel and 3200MHz for AMD
|Cooler||Spartan 3 Pro HE1024
Ceramique 2 thermal compound
|Storage||512GB Apacer AS350|
|Motherboard||ASRock H310CM-DVS||Gigabyte B450M DS3H|
You can check all of the results on openbenchmarking.org. Below I'll present a set of the results focusing on clocks and thermals.
Short story for performance can be seen on the radar graph below - the closer to the edge the line is the better the score for given test:
As you can see green lines for R5 3500X running with 2133MHz and 3200MHz usually beat Intel although there is few benchmarks where the results are quite even. Tinymembench was a big victory for Intel but that's quite odd result which may be related to CPU cache and inter core latency differences - where as AMD will have higher latency due to chiplet and Infinity Fabric design versus very compact Ring Bus design of monolithic Intel CPU. In more direct Stream memory benchmark Ryzen managed to pull bit ahead of Intel as you would expect.
In this old benchmark Ryzen managed to achieve 7% higher average FPS. The clocks were very stable for both processors with AMD running slightly higher. Ryzen was also running bit hotter. The big dips on the charts indicate end of run and preparation for next one (3 runs).
Xonotic - shooter game
Here we have a similar situation. AMD beats Intel by around 22% and we do see some performance increase when running Ryzen with higher clocked RAM where as Intel did not change it performance.
Clocks are also like in Unigine - Ryzen bit higher and bit hotter with some temperature peaks.
In Unigine Heaven both CPUs perform similarly. Peak frequencies were also stable and almost identical but what's interesting is the Ryzen temperatures - they constantly peak where as Intel ones are more flat.
On each core frequency graph we can see peaks or near mirror images oh high/low frequencies which could indicate that the single core load was constantly jumping between cores. Maybe this operation causes temperature spikes?
NAS Parallel Benchmarks
This benchmark was made by NASA to help evaluate the performance of parallel supercomputers. It consists of set of applications that put all core load on the CPU using specific workloads.
In Block Tri-diagonal solver both CPUs perform similarly with AMD having the advantage. Also RAM frequency does play a role in the score. The clocks are stable across all cores and AMD runs bit hotter:
Embarrassingly Parallel benchmark AMD take a big hit which could be related to like inter core latency or some other specifics of this workload (there may be a lot of core-core communication here).
discrete 3D fast Fourier Transform, all-to-all communication,
Lower-Upper Gauss-Seidel solver and
Scalar Penta-diagonal solver benchmarks the results are back to normal.
In the MG.C
Multi-Grid on a sequence of meshes, long- and short-distance communication, memory intensive benchmark AMD gets a more noticeable lead:
Parallel BZIP2 Compression
In this benchmark AMD also gets a lead but what's interesting is the CPU behavior. This compression method splits a large file into pieces that then are sent via MPI to different processors (cores) to be compressed and sent back. CPU core will be compressing a piece and then wait until new piece is received. This could be the explanation of both CPU frequency/power usage changes:
Intel CPU cores frequency remains on one level but the power usage fluctuates between low and high values. Same with temperature. Ryzen on the other hand changes CPU frequency, especially with 3200MHz RAM run. Temperatures during lower load drop by a little compared to Intel.
Timed Kernel compilation benchmark
Code compilation is another all core load, at least in the case of Kernel compilation with GCC. Here AMD also wins and the CPU is able to maintain higher clocks where as Intel drops the clocks after some time into the compilation process. And in this case Intel runs bit hotter.
Blender rendering benchmark
In the BMW benchmark the all core clocks difference gets even bigger. Ryzen is bit faster but also runs at higher clocks:
In tinymembench we see large Intel lead over Ryzen. In this specific benchmark CPU latency may play a huge role which would explain why Ryzen is behind.
In Stream benchmark we have different results. This benchmark is described on admin-magazine.com. The copy benchmark measures the transfer rate and should be the fastest. The Triad benchmark uses much more complex kernel which is more in line with real life application performance.
AMD is faster in simple copy benchmark where as more complex memory operations bring both platforms closer to each other.
Intel ring bus monolithic design gives low latency when communicating between cores. i9-9900K still manages to win in many gaming benchmarks over newer AMD CPUs partially due to lower latency. The differences aren't big but they are measurable. Here this benchmark focuses only on the time needed to communicate between two cores and as we can see Intel is faster:
Temperature effect on boost clocks
AMD CPUs can alter their max clock speed based on temperature - better cooler could potentially allow for slightly higher clocks. I've performed my benchmarks on an open test bench with a tower cooler under room temperature. The question was - was it limiting performance in any way?
I've decided to re-run few benchmarks in colder environment of winter night air ;) and you can see the results on openbenchmarking.
Unigine Heaven gets +50MHz on Ryzen where as Intel doesn't change. The temperature for R5 3500X dropped from 52C average to 35C average yet the CPU still had a choppy temperature graph and still looked like switching single core load between cores.
Some other benchmarks also showed minimal gains on the AMD platform. If you are really racing for best performance a big tower or water AiO could allow squeezing that few extra MHz (aside of more direct overclocking). For normal usages basic coolers are just fine.
Second generation Ryzen architecture managed to beat Coffee Lake from Intel. With very similar clocks and same core configuration Ryzen 5 3500X manages to win with i5-9400F in most benchmarks. There are specific cases where Intel design gives advantages so if you are performing some specific computational tasks be sure to do your research first. For gaming and day to day use Ryzen will be just better, at least on Linux / Ubuntu 19.10.
As R5 3500X is hard to get you will likely be look at R5 3600 and that one will be bit more expensive than i5-9400F (aside of discounts where both products can alter their prices) not to mention bargain option from a Chinese store on 3500X if you are lucky. Hyperthreading present in R5 3600 will give benefits in some mostly non-gaming tasks - you can see that tested in benchmarks I listed at the start of the article.
In terms of temperatures 7nm + 12nm Ryzen runs bit hotter than 14nm Intel but usually it also runs at bit higher frequency and gives better results so you can say they quite even in terms of temperature. Also there can be some variability with the coolers I had so take that into account too.
And in the end both products are viable option. Depending on local pricing or preferences you can pick either. I'm planning few more tests, mostly World of Warcraft on Windows and alike so stay tuned for more.