Do people who like to play with the voltage and clock speed settings of their CPU/GPU/memory typically do so with one of these utilities? Or in the EFI/BIOS config pages?

I've never done this, but lately it sounds like there's sometimes quite a lot left on the table, even after part binning. Performance is so high now that I wouldn't bother doing this for an extra 5-10%, but for an extra hour of battery life, it's certainly tempting...

> Performance is so high now that I wouldn’t bother doing this for an extra 5-10%

I’m an economist and I’m fascinated by this statement.

Surely if something (‘performance’, in this case) is ‘high’ then getting a 5-10% proportion of it is better than getting the same proportion increase in performance on a lesser level (the bigger the baseline, the bigger that 5-10% extra performance is). So it’s apparently irrational: being willing to incur effort (cost) to get something that is worth a smaller amount and being unwilling to do it when the same effort/cost gets you more isn’t what one would expect.

But maybe it’s satisficing: maybe formerly the experience was endurable only when running at 110% of maximum, but now there’s no need to redline to get a decent experience?

Or maybe it’s the law of diminishing returns, utility approaching some kind of asymptote.

At a large enough N 5% to 10% is massive, at a small enough N 5% to 10% gets you closer to competitive, somewhere between though is where those extra percentage points are "meh".

For instance I run my computing on a TR 1950X and I could probably undervolt or overclock the chip but, to be honest, it's not worth the perceived "risk". Undervolting could break specific instructions in undetectable ways and the only way to be sure things haven't broken would be to run something like sandsifter [0] multiple times. Because I, and many others who would have the technical know how, write software on these systems it's not very much worth the headache. If I had a seperate system I built just for gaming or doing a specific task and I wanted to reduce how much I spent, or the power usage, etc undervolting would then shift out of headache -> super worth it.

The last thing I want to have to do is run every piece of code I need through godbolt and pray there's no AVX instructions that "may" be fishy.

I think this is largely why cloud providers don't do things like this as aggressively. They do it to some extent with custom off-roadmap chips but not controlled dynamically in userspace. If we can get something like this original post into the kernel that would be a massive win for everyone.

[0] - https://github.com/xoreaxeaxeax/sandsifter