#![feature(test)]
#![allow(clippy::unit_arg)]
extern crate test;
use std::hint::black_box;
#[cfg(feature = "system")]
#[bench]
fn bench_new(b: &mut test::Bencher) {
b.iter(|| {
let _ = black_box(sysinfo::System::new());
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_new_all(b: &mut test::Bencher) {
b.iter(|| {
let _ = black_box(sysinfo::System::new_all());
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_refresh_all(b: &mut test::Bencher) {
let Ok(mut s) = sysinfo::System::new_all() else {
return;
};
b.iter(move || {
black_box(s.refresh_all());
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_refresh_processes(b: &mut test::Bencher) {
let Ok(mut s) = sysinfo::System::new() else {
return;
};
s.refresh_processes(sysinfo::ProcessesToUpdate::All, true); b.iter(move || {
black_box(s.refresh_processes(sysinfo::ProcessesToUpdate::All, true));
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_first_refresh_processes(b: &mut test::Bencher) {
if sysinfo::System::new().is_err() {
return;
}
b.iter(move || {
let mut s = sysinfo::System::new().unwrap();
black_box(s.refresh_processes(sysinfo::ProcessesToUpdate::All, true));
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_refresh_process(b: &mut test::Bencher) {
let Ok(mut s) = sysinfo::System::new() else {
return;
};
s.refresh_all();
let pid = sysinfo::get_current_pid().expect("failed to get current pid");
b.iter(move || {
black_box(s.refresh_processes(sysinfo::ProcessesToUpdate::Some(&[pid]), true));
});
}
#[bench]
fn bench_refresh_disk(b: &mut test::Bencher) {
let Ok(mut disks) = sysinfo::Disks::new_with_refreshed_list() else {
return;
};
let disk = &mut disks[0];
b.iter(move || {
black_box(disk.refresh());
});
}
#[bench]
fn bench_refresh_disks(b: &mut test::Bencher) {
let Ok(mut disks) = sysinfo::Disks::new_with_refreshed_list() else {
return;
};
b.iter(move || {
black_box(disks.refresh(true));
});
}
#[cfg(feature = "network")]
#[bench]
fn bench_refresh_networks(b: &mut test::Bencher) {
let Ok(mut n) = sysinfo::Networks::new_with_refreshed_list() else {
return;
};
b.iter(move || {
black_box(n.refresh(true));
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_refresh_memory(b: &mut test::Bencher) {
let Ok(mut s) = sysinfo::System::new() else {
return;
};
b.iter(move || {
black_box(s.refresh_memory());
});
}
#[cfg(feature = "system")]
#[bench]
fn bench_refresh_cpu_usage(b: &mut test::Bencher) {
let Ok(mut s) = sysinfo::System::new() else {
return;
};
s.refresh_cpu_usage();
b.iter(move || {
black_box(s.refresh_cpu_usage());
});
}
#[cfg(feature = "component")]
#[bench]
fn bench_refresh_components(b: &mut test::Bencher) {
let Ok(mut c) = sysinfo::Components::new_with_refreshed_list() else {
return;
};
b.iter(move || {
black_box(c.refresh(false));
});
}
#[bench]
fn bench_refresh_users_list(b: &mut test::Bencher) {
let Ok(mut users) = sysinfo::Users::new_with_refreshed_list() else {
return;
};
b.iter(move || {
black_box(users.refresh());
});
}