top | item 45836557

(no title)

panki27 | 3 months ago

What are compile times like right now, with modern hardware?

discuss

order

zamadatix|3 months ago

Phoronix includes a "Timed Linux Kernel Compilation" test as part of their reviews using the default build config.

Here is one comparing some modern high end server CPUs: https://www.phoronix.com/benchmark/result/amd-5th-gen-epyc-9... (2P = dual socket)

Here is one comparing some modern consumer CPUs: https://www.phoronix.com/benchmark/result/amd-ryzen-9-9900x-...

Searching "Phoronix ${cpuModel}" will take you to the full review for that model, along with the rest of the build specs.

With the default build in a standard build environment the clock speed tends to matter more. With tuning one could probably squeeze more out of the higher core count systems.

zrm|3 months ago

Note that those two links are using different configs. Here's the link for Threadripper 9995WX:

https://www.phoronix.com/review/amd-threadripper-9995wx-trx5...

That's using the same config as the server systems (allmodconfig) but it has the 9950X listed there and on that config it takes 547.23 seconds instead 47.27. That puts all of the consumer CPUs as slower than any of the server systems on the list. You can also see the five year old 2.9GHz Zen2 Threadripper 3990X in front of the brand new top of the range 4.3GHz Zen5 9950X3D because it has more cores.

You can get a pretty good idea of how kernel compiles scale with threads by comparing the results for the 1P and 2P EPYC systems that use the same CPU model. It's generally getting ~75% faster by doubling the number of cores, and that's including the cost of introducing cross-socket latency when you go from 1P to 2P systems.

dripton|3 months ago

It varies a lot depending on how much you have enabled. The distro kernels that are designed to support as much hardware as possible take a long time to build. If you make a custom kernel where you winnow down the config to only support the hardware that's actually in your computer, there's much less code to compile so it's much faster.

I recently built a 6.17 kernel using a full Debian config, and it took about an hour on a fast machine. (Sorry, I didn't save the exact time, but the exact time would only be relevant if you had the exact same hardware and config.) I was surprised how slow it still was. It appears the benefits of faster hardware have been canceled by the amount of new code added.