In the 2017 version of the study Go is far behind Rust or even Java, and there is even a factor 23 (instead of 17) from Go to Python in energy consumption. So if you really want to reduce the CO2 footprint then you should rather use Rust or C++ instead of Go, where the factor is about 76.
I cannot confirm your assessment. The paper has some little flaws - as all papers do - but the method and results are interesting and relevant. As with all performance measurements - or measurements in general - there is a measurement error. As engineers we have learned to cope with such errors.
We had a session at a recent biochemistry scientific software conference where someone was spending a lot of time in “more of a comment than a question” questions pushing that this paper meant that everyone should stop writing python and go back to Fortran.
The largest one is that it is measuring benchmark game programs. There is no reason to believe that those style of programs are representative of all programs.
Furthermore, there’s very weird results as well. Why is TypeScript so much worse than JavaScript? TypeScript is a superset of JavaScript and compiles to it. The JavaScript program could be exactly the same as the TypeScript one, but isn’t for some reason.
It’s been a while and I’m on my phone so I can’t check, but IIRC the reason the above is even a question is that they made a benchmarking framework but didn’t share it, so nobody can reproduce their results.
> Why is TypeScript so much worse than JavaScript? TypeScript is a superset of JavaScript and compiles to it
Typescript produces garbage JS output that creates all sorts of weird bugs, hiccups and strange quirks. It doesn't surprise me that TS generated JS would perform much worse than directly written JS.
Even if you take a JavaScript file and run it through tsc, it adds stuff? That is indeed surprising to me!
It wouldn’t shock me that there were differences if you used a bunch of fancy TypeScript features, but at the limit I would expect no overhead if you don’t use any of them. Maybe that expectation is misguided.
This is misleading work because they chose such an unrepresentative toy model.
They essentially say that in python most of the time is spent doing python work, while in go, most of the time is spent in the math calculations. That’s only true because so little calculation happens in this toy model. Scale it up to a realistic model, and python vs go should become a rounding error.
I also take issue with the conflation of sustainability and speed.
time python min.py
New synaptic weights after training:
[[ 9.67300549]
[-0.20838755]
[-4.62931838]]
Considering new situation [1, 0, 0] -> ?:
[0.99993704]
python min.py 0.35s user 1.07s system 756% cpu 0.188 total
No. Python is not 17x times slower. Author did just a irreproducible performance research.
There is a bit of a forest / trees problem here. Python's simplicity is all about the barrier to computing. Because the barrier to use of Python is so much lower than for Rust, et al. you can get to a point where you've automated some human activity much more quickly or, indeed, even bothered to automate it at all. Someone knocking out a Python tool so that a manager doesn't have to gather spreadsheets every month to monitor progress is better than it not happening because Rust doesn't have the higher level libraries to make it a 5 day, 1 person project.
This article really just reads like there is some internal griping about not using Python.
The neural network layer of GPT and their cohorts is C++. Even Rust will have hard time beating that.
On glue layer you could use Go, but Python is just as good. It just does not matter!
hmm i mean all the stuff like numpy and a bunch of other python libs that all the deep fake audio processing stuff uses. https://pypi.org/project/tacotron/
Is it? Do you have references? Isn't all the number crunching written in C++ and "only" the orchestration in Python?
But essentially it is a reasonable view.
There were already studies about energy consumption related to programming languages, see https://www.sciencedirect.com/science/article/pii/S016764232... and https://dl.acm.org/doi/abs/10.1145/3136014.3136031.
In the 2017 version of the study Go is far behind Rust or even Java, and there is even a factor 23 (instead of 17) from Go to Python in energy consumption. So if you really want to reduce the CO2 footprint then you should rather use Rust or C++ instead of Go, where the factor is about 76.