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 )