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性能分析 中排名

Download history 4/week @ 2024-03-09 1/week @ 2024-03-16 18/week @ 2024-03-30 4/week @ 2024-04-06

每月 52 次下载

Apache-2.0 许可

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

支持的操作系统:linuxmac 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

注意:目前不支持 dtraceperf。与上面相同,如果有需要,我会实现它。

xctrace

xctrace 是一个用于在

用法

cargo profile trace xctrace bench --lib

cargo profile trace xctrace bench --bench my_bench

许可证

许可方式:

任选其一。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,应按照上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~9MB
~158K SLoC