所以我最近发现了这个优化编译时间的巧妙技巧:
[profile.dev.package."*"]
opt-level = 3
这将使所有依赖项优化到最大,从而提高增量编译时间,尽管它严重阻碍了干净的编译时间。
对于开发来说,这个设置是完美的,但在 CI 中,编译总是干净的,所以显然这不是一个好的解决方案。
我想仅为 CI 设置
opt-level = 0
...但是最好的方法是什么?我可以将 --profile ci
传递给每个步骤,但我在 CI 中有很多步骤(clippy
、nextest
、wasm-pack
...),其中一些甚至不提供该标志!
是否有某种环境变量可以用来为所有后续命令设置货物配置文件?
请注意,我还尝试扭转问题:在
opt-level = 0
配置文件中设置 dev
,并使用 local-dev
创建一个新的 opt-level = 3
,但是...如何确保本地所有命令都使用运行那个个人资料?有 cargo run
、clippy
、cargo-test
、rust-analyzer
...我必须配置它们中的每一个才能使用该配置文件吗?
任何解决方案似乎都很麻烦且容易出错,我想我可能在这里遗漏了一些东西。
设置
CARGO_PROFILE_dev_OPT_LEVEL=0
。
参考:https://doc.rust-lang.org/cargo/reference/environment-variables.html
— 设置优化级别,请参阅CARGO_PROFILE_<name>_OPT_LEVEL
。profile.<name>.opt-level