>   - We essentially always do whole-program / link-time optimization
>     in C++ terminology. That is, we run a whole crate through LLVM at
>     once. Which _would_ be ok (I think!) if we weren't generating
>     quite so much code. It is an AOT/runtime trade but one we
>     consciously designed-in to the language.

> time: 33.939 s  LLVM passes

Maybe this should be changed to optionally do codegen and LLVM passes in 
parallel, producing an LLVM or native module for each Rust file, and then 
linking the modules together into the compiled crate.

Alternatively, there seems to be some work on running LLVM FunctionPasses in 
parallel at 
http://llvm.1065342.n5.nabble.com/LLVM-Dev-Discussion-Function-based-parallel-LLVM-backend-code-generation-td59384.html
 but it doesn't seem production-ready.

Most large C/C++ projects rely on parallel make and distcc to have reasonable 
build times, and it seems something that Rust needs to support (either via 
make/distcc or internally) to be a viable replacement for large projects.

                                          
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to