Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
[flagged] Go is 17 times more sustainable than Python (sustainful.tech)
22 points by mrsnippets on Feb 18, 2023 | hide | past | favorite | 28 comments


> ChatGPT-3 is predominantly written in Python

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.


This paper is very bad. I wish people would stop citing it. There’s serious methodological flaws.

And yes I say that even though Rust performs very well in it.


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.


"There’s serious methodological flaws" such as?


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.


It depends on your compiler settings but the code can very closely match equivalent JS if you want.


These are not "serious methodological flaws"; you do not consider the results credible, which might be justified or not, it's an opinion.


This is an article with a very bad conclusion. ChatGPT use of Python is just as a glue. Most of ML libs in Python are written in C++ and Rust.


I wonder if you could count CPU cycles used to run the python parts compared to the C++/Rust parts. I bet the ratio is at least 1/1000.


and even that is often the abstraction over the GPU-specific processing


This article is worse than a joke and the writer has no knowledge and no clue about Machine Learning.

All Deep Learning libraries use C++ in the backend.

This kind of "bloggers" personifies everything that is wrong with blogging nowadays.


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.


And they used Numpy.

They should have used pytorch or tensorflow if they knew what they were doing.

Nobody uses Numpy for Deep Learning.


Programming language is just frontend interface and does not determine the actual implementation/compilation or runtime.

This article is completely pointless as is.


   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.


Python uses more cycles than go in a very sloppy and unscientific analysis. Must be a slow day on HN. It doesn’t even mention rust.


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!


They didn't even try numba to give Python a fair chance :(


totally agree. It's time to re-write all the tensor flow libs in golang!


Tensorflow is written in C++.


ah! those darn C++ devs got to it first! they're always faster /s


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/


All of that is written in C (or C++). The Python is just the glue code. This article is fighting a straw man


Most of numpy executes in C.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: