mirror of
https://github.com/NotAShelf/microfetch.git
synced 2024-12-28 21:02:23 +00:00
f1e8ca8773
* add benchmarking * update README to include benchmarking of individual functions * README: formatting * README: add link to Criterion's getting_started * shell.nix: add gnuplot Since Criterion.rs uses gnuplot to generate nice plots, add it to the shell. * Cargo.toml: fixed microfetch binary name * benchmark.rs: fix benchmark function's name * Update README.md --------- Co-authored-by: raf <raf@notashelf.dev>
28 lines
1.1 KiB
Rust
28 lines
1.1 KiB
Rust
use criterion::{criterion_group, criterion_main, Criterion};
|
|
use microfetch_lib::colors::print_dots;
|
|
use microfetch_lib::desktop::get_desktop_info;
|
|
use microfetch_lib::release::{get_os_pretty_name, get_system_info};
|
|
use microfetch_lib::system::{
|
|
get_memory_usage, get_root_disk_usage, get_shell, get_username_and_hostname,
|
|
};
|
|
use microfetch_lib::uptime::get_current;
|
|
|
|
fn main_benchmark(c: &mut Criterion) {
|
|
let utsname = nix::sys::utsname::uname().expect("lol");
|
|
c.bench_function("user_info", |b| {
|
|
b.iter(|| get_username_and_hostname(&utsname))
|
|
});
|
|
c.bench_function("os_name", |b| b.iter(get_os_pretty_name));
|
|
c.bench_function("kernel_version", |b| b.iter(|| get_system_info(&utsname)));
|
|
c.bench_function("shell", |b| b.iter(get_shell));
|
|
|
|
c.bench_function("desktop", |b| b.iter(get_desktop_info));
|
|
c.bench_function("uptime", |b| b.iter(get_current));
|
|
c.bench_function("memory_usage", |b| b.iter(get_memory_usage));
|
|
c.bench_function("storage", |b| b.iter(get_root_disk_usage));
|
|
c.bench_function("colors", |b| b.iter(print_dots));
|
|
}
|
|
|
|
criterion_group!(benches, main_benchmark);
|
|
criterion_main!(benches);
|