getr

Crates.iogetr
lib.rsgetr
version0.1.1
sourcesrc
created_at2020-04-16 13:32:36.049053
updated_at2020-04-16 13:34:46.702475
descriptionA benchmarking wrapper around getrusage
homepage
repositoryhttps://github.com/jrfondren/getr-rust
max_upload_size
id230774
size7,372
(jrfondren)

documentation

README

A benchmarking wrapper around getrusage

  • known to work on Linux
  • probably misreports RSS on macOS
  • created as my simple "time for x in {1..100}; ..." benchmarks were a lot less pleasant on OpenBSD.

notes

  • this is a Rust translation of the C version at https://github.com/jrfondren/getr
  • for serious benchmarking I'd recommend hyperfine, but I like getrusage() for giving peak RSS at the same time as a reasonable average.
  • if you like Rosetta Code you might like the eight other implementations of this same program that I've written in other languages.

build

cargo build --release

# or just
cargo install getr

usage and examples

$ 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
Commit count: 5

cargo fmt