|
|
|
|
|
by pizza234
2015 days ago
|
|
Well, 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. |
|