From 3b236e83646bd826f89628e116d3ae8f42b03a64 Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Mon, 5 Mar 2018 13:40:58 -0800 Subject: [PATCH] Emphasize compiler perf --- text/0000-roadmap-2018.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/text/0000-roadmap-2018.md b/text/0000-roadmap-2018.md index b51c53907fa..e73eb81b10d 100644 --- a/text/0000-roadmap-2018.md +++ b/text/0000-roadmap-2018.md @@ -38,7 +38,7 @@ The motivation and detailed rationale of each piece of the roadmap proposal is e This year will be a focused one for the Rust community, with two overall technical goals, and two social ones. Here we’ll give a brief overview of each goal and some overarching themes, and in the Reference section below we’ll provide full detail. -- **Ship** ***Rust 2018***. We will ship a major marketing (epoch) release in the final third of the year, with the unifying message of *productivity*. We will polish and stabilize a number of already-implemented language features like `impl Trait`, macros 2.0, SIMD, generators, non-lexical lifetimes and the modules revamp—and very few new ones. We will also drive critical tools (like the RLS and rustfmt), libraries, and documentation to 1.0 status. We will overhaul the http://rust-lang.org/ site to help market the release and to support programmer productivity. +- **Ship** ***Rust 2018***. We will ship a major marketing (epoch) release in the final third of the year, with the unifying message of *productivity*. We will continue to focus on compiler performance, both from-scratch and incremental rebuilds. We will polish and stabilize a number of already-implemented language features like `impl Trait`, macros 2.0, SIMD, generators, non-lexical lifetimes and the modules revamp—and very few new ones. We will also drive critical tools (like the RLS and rustfmt), libraries, and documentation to 1.0 status. We will overhaul the http://rust-lang.org/ site to help market the release and to support programmer productivity. - **Build resources for intermediate Rustaceans**. We will write documentation and build examples that help programmers go from basic knowledge of Rust’s mechanics to knowing how to wield it effectively. @@ -128,8 +128,8 @@ Finally, there are several highly-awaited features that are **unlikely to ship** Compiler work will center on: +- A steady focus on compiler performance leading up to the epoch release. We will pursue two strategies in parallel: continuing to push incremental recompilation into earlier stages of the compiler, but also looking for general improvements that help even with from-scratch compilation. For the latter, avenues include compiler parallelization and MIR-only rlibs, amongst others. We will formulate a comprehensive set of compilation scenarios and corresponding benchmarks and set targets for the epoch release (see the [tracking issue](https://github.com/rust-lang/rust/issues/48547) for some details). Finally, we will spin up a dedicated Compiler Performance Working Group to focus on this area. - Completing and polishing the language features mentioned above. -- Continuing to improve compile times. By the end of the year, recompilations on large crates should be around 30s. - Another push on improving error messages. - Epoch tooling: adding an epoch flag and building `rustfix`, likely by leveraging lints.