1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use super::QuickCli;
use crate::{CPUCli, DiskCli, RAMCli, SQLiteCli};
pub struct QuickBench<'a> {
quick_cli: &'a QuickCli,
}
impl<'a> QuickBench<'a> {
#[inline]
pub fn new(quick_cli: &'a QuickCli) -> Self {
Self { quick_cli }
}
pub fn run_bench(&'a self) {
let reporter = self.quick_cli.shared.get_reporter(None);
let job_id = if let Some(ref r) = reporter {
Some(r.new_job())
} else {
None
};
let disk: DiskCli = self.quick_cli.into();
disk.run(job_id.clone(), reporter.clone());
let ram: RAMCli = self.quick_cli.into();
ram.run(job_id.clone(), reporter.clone());
let cpu: CPUCli = self.quick_cli.into();
cpu.run(job_id.clone(), reporter.clone());
let sqlite: SQLiteCli = self.quick_cli.into();
futures::executor::block_on(async move { sqlite.run(job_id, reporter).await });
}
}