]>
Commit | Line | Data |
---|---|---|
3dfed10e XL |
1 | fn main() -> std::io::Result<()> { |
2 | use perf_event::{Builder, Group}; | |
3 | use perf_event::events::Hardware; | |
4 | ||
5 | let mut group = Group::new()?; | |
6 | let cycles = Builder::new().group(&mut group).kind(Hardware::CPU_CYCLES).build()?; | |
7 | let insns = Builder::new().group(&mut group).kind(Hardware::INSTRUCTIONS).build()?; | |
8 | ||
9 | let vec = (0..=51).collect::<Vec<_>>(); | |
10 | ||
11 | group.enable()?; | |
12 | println!("{:?}", vec); | |
13 | group.disable()?; | |
14 | ||
15 | let counts = group.read()?; | |
16 | println!("cycles / instructions: {} / {} ({:.2} cpi)", | |
17 | counts[&cycles], | |
18 | counts[&insns], | |
19 | (counts[&cycles] as f64 / counts[&insns] as f64)); | |
20 | ||
21 | Ok(()) | |
22 | } |