#基准测试 #包装器 #RSS #时间 #getrusage

app getr

围绕getrusage的基准测试包装器

2个版本

0.1.1 2020年4月16日
0.1.0 2020年4月16日

#227 in 性能分析

每月 21 次下载

MIT 许可证

6KB
107

围绕getrusage的基准测试包装器

  • 已知在Linux上运行良好
  • 可能在macOS上错误地报告RSS
  • 创建原因是我简单的"时间 for x in {1..100}; ..."基准测试在OpenBSD上不太愉快。

备注

  • 这是对https://github.com/jrfondren/getr上的C版本进行的Rust翻译
  • 对于严肃的基准测试,我推荐hyperfine,但我喜欢getrusage()因为它在合理平均的同时提供峰值RSS。
  • 如果你喜欢Rosetta Code,你可能喜欢我写的其他语言的这个相同程序的另外八个实现。

构建

cargo build --release

# or just
cargo install getr

用法和示例

$ getr 1000 ./fizzbuzz >/dev/null
User time      : 0 s, 434408 us
System time    : 0 s, 239131 us
Time           : 673 ms (0.673 ms/per)
Max RSS        : 2.0 MB
Page reclaims  : 82394
Page faults    : 0
Block inputs   : 0
Block outputs  : 0
vol ctx switches   : 1000
invol ctx switches : 122

$ getr 100 python3 -c ''
User time      : 1 s, 338421 us
System time    : 0 s, 273103 us
Time           : 1611 ms (16.110 ms/per)
Max RSS        : 8.6 MB
Page reclaims  : 103173
Page faults    : 0
Block inputs   : 0
Block outputs  : 0
vol ctx switches   : 99
invol ctx switches : 19

依赖项

~43KB