2 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2015年11月24日 |
---|---|
0.1.0 | 2015年11月20日 |
#613 in Cargo 插件
13KB
344 行
cargo-bake
通过更智能的默认设置,更快地编译 Rust。是 cargo build
的替代品。默认的 bake 编译速度比 Cargo 的 --release
更快,并产生性能合理的代码。
用法
$ cargo install cargo-bake
$ cargo bake <other-cargo-build-options>
默认(常规)的 bake 生成的编译器标志大致如下
-C opt-level=2
-C inline-threshold=25
-C no-vectorize-loops
-C codegen-units=$NUM_CPUS_UP_TO_4
--link-args=--fuse-ld=gold
-Z no-verify
-C debuginfo=0
除了常规的 bake 之外,cargo-bake
还接受 --fast
bake,类似于 Cargo 的默认设置,--slow
bake,类似于 Cargo 的发布版本,以及 --glacial
bake,它还额外添加了 LTO。
默认情况下,cargo-bake 在所有模式下都仅将调试信息生成减少到行号。使用 --debug
标志来开启完整的调试信息。
运行 cargo bake --compare
来比较 cargo build --release
和 cargo bake
的编译时间。
注意:cargo-bake 需要 2015-11-23 晚间版本或更高版本。
贡献
你能通过调整优化来使 Rust 编译更快吗?发送我一个 PR!
有多快?
html5ever:
cargo build --release: 27467
cargo bake: 25733
hyper:
cargo build --release: 30156
cargo bake: 26743
regex:
cargo build --release: 7006
cargo bake: 5078
image:
cargo build --release: 50449
cargo bake: 50928
未来工作
- 尝试控制精确的遍历
- 尝试关闭 alwaysinline 遍历
许可
MIT/Apache-2.0
依赖
~5MB
~103K SLoC