Crates.io | rprofile |
lib.rs | rprofile |
version | 0.1.3 |
source | src |
created_at | 2024-08-20 19:23:18.534483 |
updated_at | 2024-08-21 16:31:31.140783 |
description | A simple crate to measure processor timings in selected samples of execution |
homepage | |
repository | |
max_upload_size | |
id | 1345718 |
size | 4,470 |
The crate allow to trace sample execution, in-between start and stop trace, and extract statistics of the functions consuming the most resources.
Example usage
fn k() {
trace_cpu!("k", for _i in 0..1000 {})
}
fn f() {
for i in 0..100 {
trace_cpu!("g", g());
}
for j in 0..10000 {}
}
fn g() {
for i in 0..100 {
k()
}
}
fn main() {
start();
trace_cpu!("f1", f());
trace_cpu!("f2", f());
stop();
f();
show();
}
Will output:
f2 : 1 calls | 43.356 total ms -- Timing overhead 10.1 ms
k : 20000 calls | 58.118 total ms -- Timing overhead 0 ms
f1 : 1 calls | 40.9 total ms -- Timing overhead 10.1 ms
g : 200 calls | 83.916 total ms -- Timing overhead 20 ms
The overhead timing are indicative of the amount spend in the timing macros.