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<M: Measurement, F>(group: &mut BenchmarkGroup<M>, f: F) | |
where | |
F: Fn(&str, &mut BenchmarkGroup<M>), | |
{ | |
for name in DEMO_ART { | |
f(name, group); | |
} | |
} | |