Setting our vision for the 2017 cycle

I think rustc's stage1 building speed needs to be significantly improved. Requiring 15 minutes to make -j3 rustc-stage1 is absolutely deterring contributions.

$ time make -j3 rustc-stage1
real    14m56.510s
user    22m38.593s
sys    0m45.972s
It also takes a long time to build anything depending on complex crates like syntex-syntax (~1 minute in debug, ~2 minutes in release), though it mainly just affect the first build of the project.([RFC 1681 "Macros 1.1"](https://github.com/rust-lang/rfcs/blob/master/text/1681-macros-1.1.md) may deprecate `syntex` eventually, but not every syntax extension is about `#[derive]`-ing...)

RFC 1298 “Incremental Compilation” will help the edit-compile-test cycle, but we still need to improve the initial build time. (BTW why there is no tracking issue for 1298?)


For comparison, building D’s DMD takes only 7 seconds,

$ time make -f posix.mak -j3 AUTO_BOOTSTRAP=1
real    0m7.266s
user    0m11.712s
sys    0m1.855s

Building Go takes only 1 minute,

$ GOROOT_BOOTSTRAP=/usr/local/Cellar/go/1.7/libexec/ time ./make.bash
       67.74 real       136.49 user        15.95 sys

(No data for Swift, it insists on the beta Xcode 8 which I don’t bother to use now :slight_smile:)

2 Likes