This paper was released aon arXiv already in mid-2025 but somehow only just surfaced for me.
It takes an idea from the often cited paper Energy Efficiency across Programming Languages a step further into the Python Rabbit-Hole and compares different Python Interpreter implementation including this that have JIT and AOT compilation.
These are the candidates:
Our beloved and hated CPython is of course the comparison baseline in th 3.10 version.
The result data is pretty clear and showing that compile languages can strongly outperform python by up to a factor of 25x in regards to energy consumption.
Review
The study design is quite sound making many repetitions, randomizing runs and trying to create a stable test bed through waiting times, pre-heating and turning off background processes.
However a couple of additons could have been made:
- Fixing the frequency also on the NUC properly. Using the powersave govenour will not prevent the CPU properly from changing frequency. Here a kernel parameter like `intel_pstate=disable acpi=force` should have been used
- Clearing OS caches. Most optimally running code inside a docker container. But at least setting `/usr/sbin/sysctl -w vm.drop_caches=3`
Since the effect of comparing CPython to PyPy even is very strong this is unlikely to influence the result. But one could have maybe resolved a distinction between PyPy and Numba which currently seem quite on par.
Also, like every Python paper, it would have been nice to see the interpreters used in an ACTUAL Python app, like for instance a big Django installation or even a Python library.
Nobody does plain number crunching in Python ![]()
For our GMT where we use Python only as a glue language we actually see performance drop when we use PyPy. This is due to the bigger overhead and possibly due to different wheels produced / compiled which may lack certain optimizations intended for CPython.
Having said that: Our load on the OS from Python itself including the C-Reports is < 2% in most cases, so our GMT might not be the best benchmark for Python implementations anyway ![]()
If you like to dive deeper with Python Benchmarks also give our Python version deep dive a look: https://www.green-coding.io/case-studies/energy-efficiency-python/

