18 releases

new 0.1.17 Mar 21, 2024
0.1.16 May 23, 2023
0.1.15 Aug 10, 2022
0.1.14 Jan 19, 2022
0.1.8 Aug 22, 2018

#68 in Profiling

Download history 74/week @ 2023-12-05 68/week @ 2023-12-12 67/week @ 2023-12-19 34/week @ 2023-12-26 39/week @ 2024-01-02 71/week @ 2024-01-09 46/week @ 2024-01-16 34/week @ 2024-01-23 30/week @ 2024-01-30 67/week @ 2024-02-06 62/week @ 2024-02-13 69/week @ 2024-02-20 110/week @ 2024-02-27 84/week @ 2024-03-05 170/week @ 2024-03-12 232/week @ 2024-03-19

631 downloads per month
Used in 17 crates (2 directly)

ISC license

16KB
375 lines

Precision

Precision is a simple crate to perform measurements using hardware counters.

It is especially useful for performing micro-benchmarks.

API documentation

Example

extern crate precision;

let p = precision::Precision::new(precision::Config::default()).unwrap();

let start = p.now();
let stop = p.now();
let elapsed1 = stop - start;

let start = p.now();
let stop = p.now();
let elapsed2 = stop - start;

let elapsed_total = elapsed1 + elapsed2;
let elapsed_total_secs = elapsed_total.as_secs_f64(&p);
let hw_ticks = elapsed_total.ticks();

Dependencies

~0–550KB
~10K SLoC