]> git.proxmox.com Git - rustc.git/blame - vendor/perf-event/examples/println-cpi.rs
New upstream version 1.48.0+dfsg1
[rustc.git] / vendor / perf-event / examples / println-cpi.rs
CommitLineData
3dfed10e
XL
1fn 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}