rust-lang / compiler-team

A home for compiler team planning documents, meeting minutes, and other such things.
https://rust-lang.github.io/compiler-team/
Apache License 2.0
388 stars 69 forks source link

Create a binary-size working group #671

Closed thomcc closed 1 year ago

thomcc commented 1 year ago

Proposal

The binary size of Rust programs and libraries is a frequent complaint from users, so in order to centralize and track all efforts that reduce binary size of these artifacts, we propose forming a Binary Size Working Group (wg-binary-size) under t-compiler with support from t-libs.

This working group aims to, ultimately, reduce the binary size of Rust programs, or at least give users the tools to do so. To support that top-level goal, the group will work towards:

And so on. Note that it seems very likely that the precise contents of this list will change/fluctuate as a result of measurement and data gathering.

Scope

The focus of the group is primarily artifacts which are frequently distributed or installed (for example bin, cdylib, dylib, or staticlib crates). Concretely, some things which are not considered in-scope include the total size of cargo's target directory, rustup toolchain bundles, or ephemeral build arifacts (for example metadata, incremental cache, and so on).

Explicitly in-scope are build configurations where std is present (in addition to no_std), and even optimization levels besides s and z (for example, if we can reduce the binary size of opt-level=3 without hurting performance, that would be a win).

Team

The leads will be myself (@thomcc) and Mara Bos (@m-ou-se). The initial list of members will be @davidtwco, @nbdd0121, @Kobzol, @nnethercote, @h1467792822, @workingjubilee, and @wain303009 although may grow over time.

Process

The main points of the Major Change Process are as follows:

You can read more about Major Change Proposals on forge.

Comments

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

rustbot commented 1 year ago

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

cc @rust-lang/compiler @rust-lang/compiler-contributors

oli-obk commented 1 year ago

@rustbot second

tgross35 commented 1 year ago

Link to the wg stream: https://rust-lang.zulipchat.com/#narrow/stream/405744-wg-binary-size/topic/stream.20events