MCPcopy Create free account
hub / github.com/Stranger6667/css-inline / main

Function main

profiler/src/main.rs:18–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16}
17
18fn main() -> Result<(), Box<dyn std::error::Error>> {
19 let mut args = pico_args::Arguments::from_env();
20 let args = Args {
21 iterations: args.value_from_str("--iterations")?,
22 benchmark: args.value_from_str("--benchmark")?,
23 };
24
25 let benchmarks_str =
26 fs::read_to_string("../benchmarks/benchmarks.json").expect("Failed to load benchmarks");
27 let benchmarks: Vec<Benchmark> =
28 serde_json::from_str(&benchmarks_str).expect("Failed to load benchmarks");
29 if let Some(benchmark) = benchmarks.iter().find(|x| x.name == args.benchmark) {
30 let mut output = Vec::with_capacity(
31 (benchmark.html.len() as f64 * 1.5)
32 .min(usize::MAX as f64)
33 .round() as usize,
34 );
35 for _ in 0..args.iterations {
36 #[cfg(feature = "dhat-heap")]
37 let _profiler = dhat::Profiler::new_heap();
38 css_inline::inline_to(&benchmark.html, &mut output).expect("Inlining failed");
39 output.clear();
40 }
41 } else {
42 panic!("Can not find benchmark: {}", &args.benchmark)
43 }
44
45 Ok(())
46}

Callers

nothing calls this directly

Calls 3

findMethod · 0.80
iterMethod · 0.80
inline_toFunction · 0.50

Tested by

no test coverage detected