Building The Default x86_64 Linux Kernel In Just 16 Seconds

Written by Michael Larabel in Linux Kernel on 14 August 2019 at 03:02 AM EDT. 52 Comments
LINUX KERNEL
It's now been one week since the launch of AMD's EPYC Rome processors with up to 64 cores / 128 threads per socket and better IPC uplift compared to their previous-generation parts. Rome has outperformed Intel Xeon Scalable CPUs in their class while offering better power efficiency and way better performance-per-dollar. One of my favorite metrics has been how quickly the new EPYC 7742 2P can build the Linux kernel.

It used to be that building out the Linux kernel could easily take the time needed to enjoy a beverage or have a meal while now with the EPYC 7742 2P it's easy to build the Linux kernel in just 15~16 seconds! Up until the Rome testing I was never able to crack 20 seconds with any of the hardware at my disposal while now it's easy hitting 15 seconds. That is with a Linux x86_64 default "defconfig" build. As shown in the launch article, that easily beats the likes of a dual Intel Xeon Platinum 8280 and a big improvement as well over the Naples EPYC 7601 2P configuration.
AMD EPYC 7742 2P Compilation Benchmarks

That's with each server tested using an Intel Optane 900p 280GB NVMe SSD and maximum channels/frequency supported RAM and running Ubuntu 19.04 with the stock compiler. For fun on the weekend I intend to see how much lower I can get the kernel build time using a RAID setup as I/O appears to be the bottleneck at this point. Anyhow, 15~16 seconds for the Linux defconfig build is crazy.

If pulling up statistics from OpenBenchmarking.org with that same exact test profile version for building the kernel in the same manner and the same Linux 4.18 LTS sources, of 2,687 public sample results the average kernel build time is 125 seconds. That's over two minutes as the average kernel build time from mostly higher-end systems/servers. The EPYC 7742 2P accomplishes the same amount of work in just 16 seconds (or 15 seconds, sometimes) and is the fastest result I've found on OpenBenchmarking.org.

Obviously the Rome class processors do great in other compilation workloads as well with multiple jobs:
AMD EPYC 7742 2P Compilation Benchmarks

Compiling the complete GNU Compiler Collection can be done in just over 12 minutes.
AMD EPYC 7742 2P Compilation Benchmarks

Or the very common LLVM stack can be built in just 82 seconds while the dual Xeon Platinum 8280 came in at 106 seconds.

AMD's EPYC Rome processors can serve as an incredible build farm especially for any continuous integration workflows. Or if you are strapped for cash, open-source developers have even turned to using Ryzen 3000 series CPUs like with DragonFlyBSD.

Those wanting to see how long your system(s) take to build these same code-bases in a side-by-side comparison to these results can install the Phoronix Test Suite and run phoronix-test-suite benchmark 1908135-AS-ROMECOMPI06 for the fully-automated benchmark experience.

Some other interesting AMD EPYC 7742 Linux (and BSD) benchmarks will be up shortly.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week