- Why do compilation times not vary significantly between different CPUs of the era, despite the performance of disks (NVMe vs. HDD) and CPU?
- Why does disabling hyperthreading significantly affect performance with the Ryzen CPU?
In recent months, I've seen some different machines, all running Linux with CPUs that vary from about 9 years since their launch and some recently launched. The newer CPUs received much higher reference numbers from cpubenchmark.net. The details below include the compilation times for the Linux 4.4.176 kernel using Ubuntu 18.04.
In short, the CPUs that scored several times faster on cpubenchmark.net certainly did not decrease compilation times by the same factor. In fact, sometimes little improvement was observed.
What would be the bottleneck to change or solve? The Ryzen machine has all the latest hardware devices. Or is this a case of synthetic benchmarks against reality?
This question touches on the subject of comparative evaluation by comparison of time compilation, but does not explore the (lack of) variability in observed construction times.
- Recent Ryzen 2950X system
- Single thread rating: 2208
- Disk: NVMe
- Source: Linux kernel, 4.4.176, compiled with .config from Ubuntu Xenial
- Invocation: make -j32
- Compilation time: 25997u 4910s 17:25 wall time
- Same system, with hyperthreading (or as AMD calls it) rotated off
- Source: Linux kernel 4.4.176, same file .config
- Invocation: make -j16
- Compilation time: 10561u 1796s 13:44 wall time
That is a reduction of more than 20% in the compilation time that is equivalent to a difference of 3 minutes and 41 seconds, from 17:25 to 13:44. Simply by disabling the hyperthreading feature.