Parallelize some phases of compilation between a crate and its dependency #610
Labels
T-cargo
Relevant to the Cargo team, which will review and decide on the RFC.
T-compiler
Relevant to the compiler team, which will review and decide on the RFC.
T-dev-tools
Relevant to the development tools team, which will review and decide on the RFC.
Issue by brson
Saturday Sep 08, 2012 at 22:00 GMT
For earlier discussion, see rust-lang/rust#3431
This issue was labelled with: A-an-interesting-project, A-build, E-hard, I-wishlist in the Rust repository
With a single driver building multiple crates we can start running more parts of the compilation process in parallel.
The basic idea is to output the metadata about a crate before code generation so that the next compile can proceed based on that metadata.
rustc gets modified in a few ways:
The end result is that parsing and analysis will be largely done in parallel with code generation for multi-crate builds.
Beyond that we can also parse all crates in parallel.
This would require that we make sure we are using LLVM in a threadsafe way, unless we can get all the trans passes onto a single thread.
Related to #2237
The text was updated successfully, but these errors were encountered: