使用 Cargo,我可以设置项目的开发设置以使用并行代码生成:
[profile.dev]
codegen-units = 8
根据文档,应该可以~/.cargo/config
将此设置应用于所有项目。这对我不起作用:似乎.cargo/config
根本没有使用该文件。有没有办法将这样的配置应用于我编译的每个项目?
使用 Cargo,我可以设置项目的开发设置以使用并行代码生成:
[profile.dev]
codegen-units = 8
根据文档,应该可以~/.cargo/config
将此设置应用于所有项目。这对我不起作用:似乎.cargo/config
根本没有使用该文件。有没有办法将这样的配置应用于我编译的每个项目?
您可以为.cargo/config
文件中的所有构建或每个目标设置 rustflags。
[build] # or [target.$triple]
rustflags = ["-Ccodegen-units=4"]
需要明确的是,这将为您的所有项目(由此 .cargo/config 覆盖)设置 codegen-units,而不管配置文件如何。
为了确保它被实际设置,您还可以在同一个文件中设置详细输出。这将显示带有 cargo 调用的标志的每个 rustc 命令。
[term]
verbose = true
一种解决方法是创建一个要调用的脚本,而不是cargo
#!/bin/bash
if [[ $* != *--release* ]]; then
# dev build
export RUSTFLAGS="-C codegen-units=8"
fi
cargo "$@"
如果cargo
在脚本上使用完整路径,则可以创建别名
alias cargo=/path/to/script
然后打电话cargo
。