…the one that emulates your real workload. And for me (and probably many of you reading this), that would be “build a kernel as fast as possible.” And for that, I recommend the simple kcbench.
I kcbench mentioned it a few years ago, when writing about a new workstation that Level One Techs set up for me, and I’ve been using that as my primary workstation ever since (just over 5 years!).
Right now, the box at that link churns out a reasonable 55 kernel builds per hour, as measured when building the 6.14 kernel release, which while fast, isn’t as good as the build server sitting in my attic which crunches through 113 kernel builds per hour. But it’s nice and semi-quiet and still gets the job done well, still running Arch Linux, constantly updated since that first install long ago.
While I don’t have as many different systems as Jeff Geerling does (nice shirt he has on there), I do have a lot of different devices here as I have a bad habit of buying odd things from Kickstarter and Crowd Supply offerings. So here’s a summary of what is sitting around on the tables in my office ordered by slowest to fastest as measured by kcbench (no links to any sites for these, if you want you can search yourself, I bought them all myself and get no kickbacks from anyone for these things, I just thought they were interesting so I bought them):
Something big
58 kernels per hour: Giant 128 processor Ampere ARM64 server.
I have this stuck up in my attic next to the other build server to do arm64 test builds and other native arm64 tests. I know I have made fun of the “mythical ARM server” for years, but this thing is real, and it works quite well. If you do a mips per watt measurement, it’s equal, or even a bit better, than my AMD64 build server as under a full load this thing only sips about 200W. Too bad no one seems to care about watt measurements anymore given all of the “unlimited” power that data centers seem to be installing these days… Runs the arm64 version of Fedora quite well.
Something odd
40 kernels per hour: Dual screen laptop from GSD:
This thing is amazingly fast, bug crazy big and heavy as it does have 2 screens (one also has touch support). I really want to use this as my travel-laptop, due to liking the speed and screen real-estate but it is pretty thick and just weighs too much, at 2.3kg to want to carry it around. I use Debian on this laptop with the Regolith add-on packages to drive the dual-display in a sane manner. Maybe for a short trip one day I will lug this thing around, but I’m spoiled by the light Framework 13. GSD has lots of “odd” types of laptops and all work well with Linux, check them out if you want something “different”.
29 kernels per hour: LingLong “keyboard” machine:
It’s so small (folds up in half), 800g light, but has no display so you have to either pair it with an external display, or use AR glasses to see the screen (I have an XREAL One pair that works well.) This “machine” is way more powerful than I expected, and while the lack of a display is a pain at times, it’s great to see companies try different form factors out. I run Debian testing on this “system” and it works just fine.
Something normal
22 kernels per hour: Framework 13 laptop:
This is my go-to travel laptop for while I’m on the road. It’s light, 1.3kg, pretty fast, great battery life, and normally quiet (except when building kernels.) The screen is very high resolution and repairability can not be matched (it comes with a screw driver for you to install storage and memory, can’t beat that!) It’s my 3rd framework laptop I’ve had so far and I keep hoping they churn out more. As expected, it’s running Arch Linux.
16 kernels per hour: Random Thinkpad laptop to do Android kernel merges on.
[no picture needed, you all know what these things look like…]
This thing is big, slow, heavy, and eats power like it is going out of style, but it has access to AOSP so I tolerate it to get the latest stable and LTS kernels merged into the Android kernel trees for everyone to pull from. Luckily I also have access to a cloud server that give me 58 kernels per hour for when I need to do Android build bisections and the like so I’m not often forced to do many kernel builds on this laptop.
10 kernels per hour: Framework 12 laptop:
I really wanted this to be my travel laptop, the screen is reasonable, it’s light, 1.3kg, has a cute colored case, and the keyboard feels very nice (nicer than the 13 I would say). But it’s just too slow compared to the Framework 13 so it sadly sits at home. Arch Linux drives this thing very well.
Something new
Last week a long-awaited Framework desktop machine showed up, that I had
pre-ordered months ago:
It’s very cute, and much much smaller than I expected, and light, 3kg, it really is portable! It’s also totally quiet, with no fans running unless you put it under very heavy load (i.e. constant kernel builds), and even then, I can’t hear the thing at all. And best of all, it’s fast! It clocks in right now at 56 kernels per hour just edging out my old workstation. And of course, it’s running Arch Linux.
So, much to the dismay of the other programmer in the family, I’m going to be keeping this for myself and using it as my daily workstation for the near future. I’m sure I’ll be able to repurpose the old AMD64 workstation case and power supply for a new system in a few months once I figure out what the latest motherboard/processor combo is that will work well for my single-purpose workload.