Linux enthusiasts see 10-second kernel compilation times on the horizon

Linux enthusiasts see 10-second kernel compilation times on the horizon

Follow Tom's Hardware on Google News , or add us as a preferred source , to get our latest news, analysis, & reviews in your feeds.

Mark Tyson Social Links Navigation News Editor Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.

usertests Saw this earlier. There are a lot of caveats, like the test system having 128 cores, but Zen 6 and Nova Lake are going to bring big multi-threaded increases to consumer sockets. And if you're sitting the generation out because of high DDR5 prices, Zen 7 should bring another +33% to core counts, and Hammer Lake should bring back SMT. Reply

derekullo Wait a second! Are you saying 256 threads, 576 Gigabytes a second of memory bandwidth and 14 gigabytes a second of SSD bandwidth allows you to compile faster? Reply

John musbach derekullo said: Wait a second! Are you saying 256 threads, 576 Gigabytes a second of memory bandwidth and 14 gigabytes a second of SSD bandwidth allows you to compile faster? Yeah I think that's what they're saying Reply

ejolson The news is that many of the single-threaded bottlenecks have been removed from the Linux kernel build chain so it scales better to multi-core systems. For other software projects there may be configure scripts and build dependencies that prevent effective parallel scaling. In those cases, faster cores win over more cores. It would be interesting to report the average percent CPU use for a kernel build running on a 128 core workstation. For a less anecdotal story one could measure average percent CPU use versus number N of available cores for values of N ranging from 1 to 128. Reply

loosik I know build system like `make` launches as many parallel processes as it can/is allowed – but do modern compilers and linkers also use multiple thread or they are still single threaded? Reply

bit_user It should be mentioned that most builds a software developer does are incremental , and thus only require a small subset of the source files to be recompiled. Tools like ccache can be used to further reduce compilation times, such as when switching between branches. Reply

bit_user usertests said: There are a lot of caveats, like the test system having 128 cores, but Zen 6 and Nova Lake are going to bring big multi-threaded increases to consumer sockets. I wouldn't put them in the same category. Compilation is very bandwidth-intensive. In this article, Phoronix tested the performance impact of running a 270K+ Arrow Lake on 1 DIMM vs. 2. https://www.phoronix.com/review/single-dual-memory-linux With two DIMMs, kernel compilation was 13.8% faster. Since the compute-to-bandwidth ratio for a 52-core Nova Lake should be similar as a 270K+ running on a single DIMM, I wouldn't expect it to beat even a 48-core Threadripper with quad-channel memory. Reply

bit_user derekullo said: Wait a second! Are you saying 256 threads, 576 Gigabytes a second of memory bandwidth and 14 gigabytes a second of SSD bandwidth allows you to compile faster? What's funny about that question is that Linux had some notable scaling problems, when it came to building the kernel on systems with more than ~64 cores. Yes, this is news. Not consequential for the general public, but for people developing & deploying software on big 100+ -core servers/VMs, it's noteworthy. Reply

bit_user loosik said: I know build system like `make` launches as many parallel processes as it can/is allowed – but do modern compilers and linkers also use multiple thread or they are still single threaded? Compilers like GCC and Clang still run single-threaded per source file. When you have enough files in your codebase, relative to the number of cores in a machine, it's more efficient for the compiler to stay single-threaded. In modern development toolchains, the main place you see multi-threading is in linkers. Those tend to happen near/at the end of a build and can take a decent chunk of time. So, it makes a lot more sense to focus on concurrency there. Reply

usertests bit_user said: With two DIMMs, kernel compilation was 13.8% faster. Since the compute-to-bandwidth ratio for a 52-core Nova Lake should be similar as a 270K+ running on a single DIMM, I wouldn't expect it to beat even a 48-core Threadripper with quad-channel memory. We'll see. I think Nova Lake should be supporting faster memory than Arrow Lake (e.g. native 8000 MT/s, 10000 MT/s overclocked), and faster memory than Threadripper users are running. Affording it is another matter. Reply

Key considerations

  • Investor positioning can change fast
  • Volatility remains possible near catalysts
  • Macro rates and liquidity can dominate flows

Reference reading

More on this site

Informational only. No financial advice. Do your own research.

Leave a Comment