11 个版本
0.2.1 | 2021 年 12 月 21 日 |
---|---|
0.2.0 | 2021 年 12 月 21 日 |
0.1.8 | 2021 年 12 月 18 日 |
0.1.7 | 2020 年 12 月 1 日 |
0.1.5 | 2020 年 11 月 29 日 |
336 在 性能分析 中排名
每月 52 次下载
58KB
1.5K SLoC
cargo-profile
使 Rust 程序性能分析变得简单。
安装
cargo install cargo-profile
功能
instrument
支持的操作系统:mac os
。
是 https://github.com/cmyr/cargo-instruments 的分支,但使用 cargo
命令行进行编译,以避免清除缓存。
用法
cargo profile instruments -t time bench --bench parser
flamegraph
支持的操作系统:linux
,mac os
。
用法
# Just use cargo's syntax
cargo profile flamegraph bench --lib
# If you have a my_bench in benches directory, you can do
cargo profile flamegraph bench --bench my_bench
bin-path
Cargo 构建的二进制文件有一些随机字符串作为后缀,这使得调用 cargo 生成的文件变得困难。现在有 cargo profile bin-path
来帮助解决这个问题。
用法
perf record `cargo profile bin-path bench --bench fixture`
cpu 时间分析
您可以使用以下命令在 mac os 上获取每个函数的 cpu 时间使用情况。
(对于 linux,您可以直接使用 perf,尽管我很快会添加对 linux 的支持。)
用法
cargo profile cpu per-fn bench --bench fixture
trace
注意:目前不支持 dtrace
和 perf
。与上面相同,如果有需要,我会实现它。
xctrace
xctrace
是一个用于在
用法
cargo profile trace xctrace bench --lib
cargo profile trace xctrace bench --bench my_bench
许可证
许可方式:
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,应按照上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~9MB
~158K SLoC