stperf

Simple profiling utility for single-threaded applications

5 releases

Uses old Rust 2015

0.1.4 Apr 1, 2018
0.1.3 Apr 1, 2018
0.1.2 Mar 28, 2018
0.1.1 Mar 25, 2018
0.1.0 Mar 25, 2018

ISC license

29KB
424 lines

stperf

Crates.io Documentation CI

stperf (single-threaded performance profiler) is a very simple profiling utility for single-threaded applications, inspired by hprof.

Usage

Check out the docs.

#[macro_use]
extern crate stperf;

fn main() {
    use std::thread;
    use std::time::Duration;

    let process = || {
        perf_measure!("processing");
        thread::sleep(Duration::from_millis(100));
    };

    for _ in 0..2 {
        perf_measure!("main");
        for _ in 0..2 {
            perf_measure!("inner operations");
            process();
        }
        process();
    }

    stperf::print();
}

Will print out:

╶──┬╼ main                 - 100.0%, 300 ms/loop, 2 samples
   ├──┬╼ inner operations  -  66.7%, 200 ms/loop, 4 samples
   │  └───╼ processing     - 100.0%, 200 ms/loop, 4 samples
   └───╼ processing        -  33.3%, 100 ms/loop, 2 samples

License

This crate is distributed under the terms of the ISC license.

Dependencies

~10KB