#benchmark #precision

dev precision

Low overhead, high precision measurement crate

19 releases

0.1.18 Dec 9, 2024
0.1.17 Mar 21, 2024
0.1.16 May 23, 2023
0.1.15 Aug 10, 2022
0.1.8 Aug 22, 2018

#84 in Profiling

Download history 212/week @ 2024-12-04 134/week @ 2024-12-11 57/week @ 2024-12-18 13/week @ 2024-12-25 14/week @ 2025-01-01 28/week @ 2025-01-08 33/week @ 2025-01-15 19/week @ 2025-01-22 35/week @ 2025-01-29 54/week @ 2025-02-05 40/week @ 2025-02-12 55/week @ 2025-02-19 89/week @ 2025-02-26 115/week @ 2025-03-05 479/week @ 2025-03-12 478/week @ 2025-03-19

1,167 downloads per month
Used in 20 crates (2 directly)

ISC license

17KB
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–580KB
~11K SLoC