use criterion::BenchmarkGroup; use criterion::measurement::Measurement; use futures::executor::block_on; use graph_craft::proto::ProtoNetwork; use graph_craft::util::{DEMO_ART, compile, load_from_name}; use interpreted_executor::dynamic_executor::DynamicExecutor; pub fn setup_network(name: &str) -> (DynamicExecutor, ProtoNetwork) { let network = load_from_name(name); let proto_network = compile(network); let executor = block_on(DynamicExecutor::new(proto_network.clone())).unwrap(); (executor, proto_network) } pub fn bench_for_each_demo(group: &mut BenchmarkGroup, f: F) where F: Fn(&str, &mut BenchmarkGroup), { for name in DEMO_ART { f(name, group); } }