3 ms·
> This question inappropriately assumes that the Rust compiling design and performance are fixed to what is today, and in particular, that they are entirely in
by Privacy846 6y ago
> This question inappropriately assumes that the Rust compiling design and performance are fixed to what is today, and in particular, that they are entirely inherent to the language.
Either that, or: it asks exactly that question rather than assumes that slow compilation is intrinsic to memory safety etc. But yes, there might be an implicit premise about some part of the Rust design contributing to slow compilation times.
- pizza234 6y agoWell, I've just profiled the incremental compilation of a 4.8k lines Rust project (using the `self-profile` option); top three offenders: - LLVM_module_codegen_emit_obj: 47% of the time - LLVM_passes: 16% - codegen_module: 15% Sample of Rust-specific passes: - MIR_borrow_checking: 0.2% - resolve_lifetimes: 0.0% The two passes above are arbitrarily picked, but anything other than the top three takes cumulatively 22% of the time. Based on this, the Rust IR generation and LLVM are the bottleneck. I'd be interested in the opinion of somebody knowledgeable, since there may be non-obvious mistakes in the above reasoning.
- steveklabnik 6y agoThis is a pretty common shape of the measurement, yes.
- vijaybritto 6y agoHello Steve, I hope you're well and baking more breads for Christmas!
- steveklabnik 6y agoThanks! I am working on two loaves right now, haha!