Crate cpu_cycles_reader
source ·Expand description
Only for reading CpuCycles specialization, not a complete package of perf_event_read ⚠ Permission requirements: Make sure the program has root permissions
Example:
ⓘ
use std::time::{Duration, Instant};
use cpu_cycles_reader::{Cycles, CyclesReader};
let reader = CyclesReader::new(&[7]).unwrap();
reader.enable();
let now = Instant::now();
let cycles_former = reader.read().unwrap();
let cycles_former = cycles_former.get(&7).unwrap();
// The cpu has performed some operations, we record cpu7
let dur = Instant::now() - now;
let cycles_later = reader.read().unwrap();
let cycles_later = cycles_later.get(&7).unwrap();
let cycles = *cycles_later - *cycles_former;
let usage = cycles.as_usage(dur, 7).unwrap();
println!("{:.2}", usage);