New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: Go 1.15 to be a "Go Green" release #36859
Comments
Hello @mibes - do you have any specific proposal in an area where you want it to be optimized ? If so, it would be good to have that mentioned here. Otherwise, I think this is better discussed in other forums like golang-dev since there isn't any concrete action item. |
There are currently 419 open issues tagged with the "Performance" label. Maybe some of them can be (re)evaluated in light of the initiative and prioritised accordingly. |
There are a lot of priorities at play in any one Go release, and the Go team already have their hands full working on important stuff (modules, language features, generics, gopls, the thousands of bugs to be squashed...). Asking them to shift considerable resources to something else will ultimately mean that existing important stuff won't be done. For example, would you stop work on modules for a release, just to try to make binaries a bit smaller? I agree with your goals there, and they are being worked on - but on a continuous basis over many releases. They will only get a significant focus for one release if someone volunteers considerable amounts of hours over many weeks. So, unless such a team of volunteer appears, I don't think there's anything actionable here. |
To go further on what @mvdan said, it is a fundamental principle of justice that the fruits of all labor belong to the workers themselves. The Go language team, who have worked incessantly on Go for the last 10 years are the rightful owners of Go. They have to work on many important issues, and, as they rightfully own Go, it is up to them to decide on their own priorities, and whether or not issues will be accepted or rejected. However, Go is free and open source. If you would like more performance optimizations than the Go team can provide for, then you can implement them yourself, or find other people who are able and willing to implement them. So I would encourage you to try to build that team of volunteers for this job. Or, even better, why not start a fund drive and pay people for optimizing Go? That's likely going to be the most efficient way to get people involved. |
This proposal has no concrete actionable suggestions. We work every release to make Go use less memory, less CPU, and less disk space. In some releases other concerns like functionality or correctness are judged more important than those. But for the most part Go does get more efficient with each release. The most actionable suggestion would be to "put some nice marketing" around performance improvements as good for the environment. That's not the kind of gimmick we typically do. It is not even clear to me that using less memory, less CPU, and less disk space necessarily translates into less environmental impact. Perhaps if those go down people just write programs that hold more data, do more computation, and have more code in the binary. Certainly that's the trend over time. It's probably more effective to make sure that the CPU etc that you do pay for is carbon-neutral. If you are interested in that topic, see https://cloud.google.com/sustainability for what Google does, both for itself and Google Cloud usage. I'm going to close this issue as not actionable, but thanks for raising it. I agree that it's important to consider what role we can play, and it's nice to think that our never-ending efficiency work serves a purpose of making computing greener. Here's hoping (and remembering that carbon-neutral energy is also important). |
With thanks to @griesemer for laying out the proposals for Go 1.15 in his recent blog post.
Since "...we concluded that it is better to hold off with major changes this time...", maybe we can use this release to put the focus on any optimisations and changes that would help our worldwide community to reduce their carbon (CO2) footprint:
A so called "Go Green" release.
These changes are likely part of an ongoing effort to improve Go one version to the next.
The proposal for 1.15 is to prioritise some of these issues over others, and to highlight the improvements made in this area. Maybe put some nice marketing around it, to increase the awareness of Go in the wider development community.
The text was updated successfully, but these errors were encountered: