#profiler #performance #perf

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

#40 in #perf

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

~17KB