4 ms·
Most of the stuff your linker has to churn through is actually debug info. If you turn it off, you'll speed up linking whether it's with LLD, gold, or ld.bfd. D
by est31 6y ago
Most of the stuff your linker has to churn through is actually debug info. If you turn it off, you'll speed up linking whether it's with LLD, gold, or ld.bfd. Do this in Cargo.toml:
[profile.dev]
debug = false
- jiripospisil 6y agoThanks, I will test it out when I get home.
- jfkebwjsbx 6y agoNote that disabling debug info means way, way harder debugging!
- jiripospisil 6y agoOh sure, usually I want to build/run it way more often than debug it though. And if I do need to debug it, I could just turn it back on and rebuild.
- est31 6y agoAs the sibling comment says, you can always turn it back on when you want to do debugging. Personally, I mainly do printf debugging so I don't miss it much. Also there is the option of only turning it off for dependencies like: [profile.dev.package."*"] debug = false I haven't tested how big the impact of that is, but it should be pretty large for projects with a larger number of dependencies. Edit: I've tested it now on cargo-udeps [1], which has a large crate graph but only little code of its own and there is only a small difference between turning off debuginfo for all crates vs only for dependencies, but a sizeable improvement over compiling in debuginfo of dependencies. [1]: https://gist.github.com/est31/1bb6e7d6f4be2a23701b8c7c1c678b6e#file-comparison-md https://gist.github.com/est31/1bb6e7d6f4be2a23701b8c7c1c678b...
- vanderZwan 6y agoWhat if you don't really program in Rust yourself but still cargo install the cool CLI tools that people have produced in it? Is there something I can tweak in my global settings for speeding that up?