Skip to content

Commit e118cd3

Browse files
committed
Rewrite conclusion, use GH usernames, some other small tweaks
1 parent d824629 commit e118cd3

File tree

1 file changed

+20
-31
lines changed

1 file changed

+20
-31
lines changed

posts/inside-rust/2022-02-22-compiler-team-ambitions-2022.md

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ This document is structured into three parts: our [Overall Themes][] for this ye
2121
Part of the motivation for this note is to encourage new contributors to get involved. We have a lot of newcomers, from individuals to large organizations, who are very excited about Rust's potential, and we want to show all of them what they can do to help.
2222

2323
This is a list of items, divided into a [Concrete Initiatives][] section and an [Aspirations][] section. We accumulated these items during discussions with the Compiler Team and the Compiler Contributors.
24-
The [Concrete Initiatives][] have owners assigned; each has allocated time this year to attack the problem. The [Aspirations][], on the other hand, are items that the team agrees would be great areas for investment, but where we currently lack sufficient resources or experienced developers to make progress this year.
24+
The [Concrete Initiatives][] have owners assigned; each has allocated time this year to attack the problem. The [Aspirations][], on the other hand, are items that the team agrees would be great areas for investment, but where we currently lack sufficient resources or experienced developers to make progress this year.
2525

2626
This is *not* a list of everything we will do this year; at least, not without help.
2727

2828
You can think of the [Aspirations][] part of the doc as an explicit call to arms: If you see something there that interests you, please reach out to the owners listed in that section to find out how you might be able to help.
2929

3030
As you read the document, it is useful to keep in mind that [Rust is not a company][mara-post]: The teams, and the leaders of the teams, do not establish goals in a top-down manner, nor do they hand out tasks in a round-robin fashion. Instead, we collectively (and iteratively) refine our a shared vision for the future, and take steps that hopefully move towards that future. Each contributor decides for themself how much time they can afford to contribute, and that can vary wildly between contributors. The goals that we set for the project must be aligned with the goals of our current and future contributors; otherwise, they just won't get done. We have processes (e.g. [RFCs](https://github.com/rust-lang/rfcs#readme), [MCPs](https://forge.rust-lang.org/compiler/mcp.html)) that try to ensure alignment; in some ways, a document like this one is just another tool for recalibrating alignment.
3131

32-
<!--
32+
<!--
3333
But the flip side of this is: if something really is important, then there almost certainly exists a contributor willing to work on it. The real hurdle then is *enabling* that contributor to succeed.
3434
(Note: this is hard! Its not just about mentorship/education; its just as much about achieving *alignment* amongst the whole group!)
3535
-->
@@ -46,26 +46,26 @@ But the flip side of this is: if something really is important, then there almos
4646
<!-- [bjorn3 zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/133247-user133247 --> <!-- @**bjorn3** -->
4747
<!-- bjorn3 donation page: https://liberapay.com/bjorn3 -->
4848
[cjgillot]: https://github.com/cjgillot
49-
<!-- [cjgillot zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/248906-user248906 --> <!-- @**cjgillot** -->
49+
<!-- [cjgillot zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/248906-user248906 --> <!-- @**cjgillot** -->
5050
<!-- no response from cjgillot re affiliation yet -->
5151
[davidtwco]: https://github.com/davidtwco
5252
<!-- [davidtwco zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/248906-user248906 --> <!-- @**davidtwco** -->
5353
<!-- davidtwco affiliation: "Huawei R&D UK"-->
5454
[estebank]: https://github.com/estebank
5555
<!-- [estebank zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/119031-user119031 --> <!-- @**Esteban Küber** -->
56-
<!-- estebank affiliation: AWS -->
56+
<!-- estebank affiliation: AWS -->
5757
[lcnr]: https://github.com/lcnr
5858
<!-- [lcnr zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/216206-user216206 --> <!-- @**lcnr** -->
5959
<!-- lcnr sponsorship: https://lcnr.de/funding/ -->
60-
[mw]: https://github.com/michaelwoerister
61-
<!-- [mw zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/124287-user124287 --> <!-- @**mw** -->
60+
[michaelwoerister]: https://github.com/michaelwoerister
61+
<!-- [mw zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/124287-user124287 --> <!-- @**michaelwoerister** -->
6262
<!-- mw affiliation: MS -->
6363
[nikomatsakis]: https://github.com/nikomatsakis
6464
<!-- [nikomatsakis zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/116009-user116009 --> <!-- @**nikomatsakis** -->
6565
<!-- nikomatsakis affiliation: AWS -->
6666
[oli-obk]: https://github.com/oli-obk
6767
<!-- [oli-obk zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/124288-user124288 --> <!-- @**oli** -->
68-
<!-- oli affiliation: AWS -->
68+
<!-- oli affiliation: AWS -->
6969
[jackh726]: https://github.com/jackh726
7070
<!-- [jackh726 zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/232957-user232957 --> <!-- @**Jack Huey** -->
7171
<!-- jackh726: no affiliation -->
@@ -93,7 +93,7 @@ But the flip side of this is: if something really is important, then there almos
9393
[apiraino]: https://github.com/apiraino
9494
<!-- [apiraino zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/250987-user250987 --> <!-- @**apiraino** -->
9595
<!-- apiraino: no affiliation -->
96-
[simulacrum]: https://github.com/Mark-simulacrum
96+
[Mark-Simulacrum]: https://github.com/Mark-Simulacrum
9797
<!-- [simulacrum zulip PM]: https://rust-lang.zulipchat.com/#narrow/pm-with/116122-user116122 --> <!-- @**simulacrum** -->
9898
<!-- simulacrum sponsorship: https://github.com/sponsors/Mark-Simulacrum -->
9999
[rylev]: https://github.com/rylev
@@ -164,7 +164,7 @@ Diagnostics (👩‍💻) | | [Aspirations][Diagnos
164164

165165
## Concrete Initiatives
166166

167-
This section is the closest thing to a "roadmap" we have for 2022. It is a list of important items with dedicated owners that have time allocated to make significant progress on the problem this year.
167+
This section is the closest thing to a "roadmap" we have for 2022. It is a list of important items with dedicated owners that have time allocated to make significant progress on the problem this year.
168168

169169
### I-unsound issues (🦀)
170170

@@ -186,28 +186,27 @@ Rust today does not allow `async fn` in a trait, so Async Rust code usually ends
186186

187187
#### async crashdump dissection
188188

189-
[mw], from Microsoft, is driving the [async crashdump initiative](https://rust-lang.github.io/async-crashdump-debugging-initiative/), which will enable developers to understand the control-flow stacks encoded in crashdumps for their async Rust programs. He is `@**mw**` [on zulip].
189+
[michaelwoerister], from Microsoft, is driving the [async crashdump initiative](https://rust-lang.github.io/async-crashdump-debugging-initiative/), which will enable developers to understand the control-flow stacks encoded in crashdumps for their async Rust programs. He is `@**mw**` [on zulip].
190190

191191
There is a ton of other work being done in the Async Rust space. Check out the [Async Vision web site](https://rust-lang.github.io/wg-async/welcome.html) for more information.
192192

193-
194193
### Debugging Initiatives (🦀)
195194

196195
[wesleywiser], from Microsoft, and [pnkfelix] are spinning up a wg-debugging working group. It will cover at least the following sub-items: improving Rust's debuginfo quality ([mw], [wesleywiser]), supporting split debuginfo ([davidtwco], from Huawei R&D UK), and better integration with trace-based debuggers like `rr` ([pnkfelix]). They are `@**Wesley Wiser**`, `@**pnkfelix**`, `@**mw**` and `@**davidtwco**` [on zulip].
197196

198197
The immediate goals for this initiative: establish the working group, determine priorities for the backlog of debugging issues, and find out what active users of debuggers miss most when they operate on Rust code.
199198

200199
### Faster Builds Initiatives (👩‍💻, 🛠️)
201-
200+
202201
The Rust compiler's end-to-end latency is known to be a problem.
203-
202+
204203
[lqd], sponsored by the Internet Security Research Group, is dedicating the majority of 2022 to working on this, partnering with Rust's compiler-performance working group as well as performance experts like [nnethercote] (from Futurewei Technologies). [lqd] has their own [living document](https://hackmd.io/3Dp68rTDSpWvRDfWF6lbMw?view) that lists areas under investigation, and [nnethercote] has a [roadmap under development](https://hackmd.io/YJQSj_nLSZWl2sbI84R1qA). They are `@**lqd**` and `@**nnethercote**` [on zulip].
205204

206205
[ISRG]: https://www.abetterinternet.org/
207206

208207
### Expressiveness Initiatives (👩‍💻, 🦀)
209208

210-
A common refrain we hear is: "I need feature X, but it's not implemented in rustc or stable."
209+
A common refrain we hear is: "I need feature X, but it's not implemented in rustc or stable."
211210
In Rust, we use an open Request-for-Comment (RFC) process for designing new features. Currently, we have [this set of RFCs approved][RFC tracking issue list]; here are some imporant features with dedicated owners that we expect forward movement on.
212211

213212
[RFC tracking issue list]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AC-tracking-issue++label%3AB-RFC-approved+
@@ -268,9 +267,9 @@ If you want to discuss more with us about past attempts and ideas for the future
268267

269268
#### Incremental Compilation Aspirations
270269

271-
Incremental compilation performance and stability are both ongoing concerns to the team. We *know* there is significant room to improve the effectiveness of incremental compilation, in terms of reducing the amount of redundant work done by successive `rustc` invocations.
270+
Incremental compilation performance and stability are both ongoing concerns to the team. We *know* there is significant room to improve the effectiveness of incremental compilation, in terms of reducing the amount of redundant work done by successive `rustc` invocations.
272271

273-
In addition, there is a significant amount of work that could be done to improve our testing infrastructure for incremental compiliation which does not require deep knowledge of the compiler.
272+
In addition, there is a significant amount of work that could be done to improve our testing infrastructure for incremental compiliation which does not require deep knowledge of the compiler.
274273

275274
If you want to learn more, reach out to [cjgillot] and [Aaron Hill]. They are `@**cjgillot**` and `@**Aaron Hill**` [on zulip].
276275

@@ -320,11 +319,11 @@ If you are interested in helping in this area, please reach out to [pnkfelix]. T
320319

321320
#### Performance Dashboard
322321

323-
[perf.rust-lang.org][perf] is a dashboard that measures the performance of `rustc`, in terms of resources (time and memory) consumed during compilation. [@rust-timer] is a bot that summarizes whether a given Pull Request regressed or improved performance.
322+
[perf.rust-lang.org][perf] is a dashboard that measures the performance of `rustc`, in terms of resources (time and memory) consumed during compilation. [@rust-timer] is a bot that summarizes whether a given Pull Request regressed or improved performance.
324323

325324
The performance working group has many ideas for things to improve in these tools, but limited resources. This is an area where you don't need any compiler expertise to make a huge impact; for example, our Web Front-end could use work. And Data Scientists might have useful insights into our problems. Beyond just measuring the compiler's own performance, we're also interested in measuring the runtime performance of produced binaries.
326325

327-
Reach out to [rylev], from Microsoft, and [simulacrum] (supported via [sponsorship](https://github.com/sponsors/Mark-Simulacrum)), performance working group lead, if you want to help. They are `@**rylev**` and `@**simulacrum**` [on zulip].
326+
Reach out to [rylev], from Microsoft, and [Mark-Simulacrum] (supported via [sponsorship](https://github.com/sponsors/Mark-Simulacrum)), performance working group lead, if you want to help. They are `@**rylev**` and `@**simulacrum**` [on zulip].
328327

329328
[@rust-timer]: https://github.com/rust-timer
330329
[perf]: https://perf.rust-lang.org/
@@ -362,13 +361,9 @@ Diagnostics improvements are an *excellent* first step for learning about how to
362361

363362
## Conclusion
364363

365-
Reading over this list, the number of items on it seems quite daunting.
364+
Reading over this list, the number of items on it seems quite daunting! We believe these initiatives will provide the highest impact to the Rust community by helping to fulfill Rust's promise, delighting Rust developers and improving our contributor workflows and aligns well with the results of the [2021 Rust Survey](https://blog.rust-lang.org/2022/02/15/Rust-Survey-2021.html).
366365

367-
Do we really think we can get all this stuff done in one year?
368-
369-
No, we don't! 😂
370-
371-
The introduction explicitly said the latter half are things that *don't* have resources attached to them. And the word "aspiration" was chosen to reinforce that.
366+
While we think we will be able to make signficant progress on these initiatives this year, project estimation is a difficult and inexact science, especially for open source projects. What we will achieve is ultimately a result of who decides to contribute. Our aspirational goals are currently just that: aspriations.
372367

373368
This is where you all, the Rust community (including *future members* of that community) come into the picture. Each item has one or two people listed with it; if you're feeling inspired, please do contact us!
374369

@@ -382,7 +377,7 @@ The compiler team leadership plans to put out a post in June summarizing the pro
382377

383378
#### I did not see any mention of monadic burritos (or other non-Rust language feature); why is that not part of your plan?
384379

385-
The scope of this doc is largely restricted to Compiler Team issues. Language design work is done by the Language Design team. You can reach out to them about their initiatives for this year and beyond.
380+
The scope of this doc is largely restricted to Compiler Team issues. Language design work is done by the Language Team. You can reach out to them about their initiatives for this year and beyond.
386381

387382
#### What do I do if I'm interested in learning more about a specific item on this list?
388383

@@ -401,9 +396,3 @@ This is not a problem! Many members of our community learned about compilers by
401396
[Contributing to the Compiler]: https://www.youtube.com/watch?v=vCODCbUSA_w
402397

403398
In addition, there are areas in this project where people without compiler expertise can have impact. For example, as mentioned in the [Performance Dashboard](#Performance-Dashboard) section, some of our internal tools could use some web front-end work.
404-
405-
406-
407-
408-
409-

0 commit comments

Comments
 (0)