An interesting paper from @emeryberger et al., showing that, in contrast to prior work, (in my words) energy use across programming languages is a proxy for how long a program takes to execute, and that other factors don't meaningfully affect energy usage. https://arxiv.org/abs/2410.05460
It's Not Easy Being Green: On the Energy Efficiency of Programming Languages

Does the choice of programming language affect energy consumption? Previous highly visible studies have established associations between certain programming languages and energy consumption. A causal misinterpretation of this work has led academics and industry leaders to use or support certain languages based on their claimed impact on energy consumption. This paper tackles this causal question directly: it develops a detailed causal model capturing the complex relationship between programming language choice and energy consumption. This model identifies and incorporates several critical but previously overlooked factors that affect energy usage. These factors, such as distinguishing programming languages from their implementations, the impact of the application implementations themselves, the number of active cores, and memory activity, can significantly skew energy consumption measurements if not accounted for. We show -- via empirical experiments, improved methodology, and careful examination of anomalies -- that when these factors are controlled for, notable discrepancies in prior work vanish. Our analysis suggests that the choice of programming language implementation has no significant impact on energy consumption beyond execution time.

arXiv.org
@ltratt @emeryberger it seems to suggest that program runtime is what decides energy usage. A counter example to this is games. Get your laptop or steam deck, whatever, and play 1 hour of hollow knight, then 1 hour of horizon forbidden west. Look at your battery level after each.
Then go watch a talk on mobile game dev talking about how to optimize for power usage to let the player play longer before they have to plug their phone in 😀
@demofox @ltratt @emeryberger typical desktop os’es these days would never saturate all cores unless you’re doing something like playing a game or doing a batch compile etc. I guarantee hollow knight is “pulsing” the cpu per frame and then letting the CPU idle, which yields a thinner power pulse width. In this case we consider the program run time not as the wall clock time but the sum of the pulse times. Under that view, the power again correlates directly to the program runtime.