use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; use pcap::Capture; use std::path::Path; use pktstrings::{net, strings}; const PCAP: &str = "./benches/data/SkypeIRC.cap"; fn str(c: &mut Criterion) { let mut pktstring_group = Criterion::benchmark_group(c, "Dump Strings"); pktstring_group.bench_function( BenchmarkId::new("dump_strings", "defaults_skypeIRC_pcap"), |b| { let filepath = Path::new(PCAP); let mut cap = Capture::from_file(filepath).unwrap(); b.iter(|| { strings::dump_strings(&mut cap, &7, &mut None, &false, &None); }); }, ); pktstring_group.bench_function( BenchmarkId::new("dump_strings", "resolve_skypeIRC_pcap"), |b| { let mut resolver: Option<Box<net::Resolver>> = Some(Box::default()); let filepath = Path::new(PCAP); let mut cap = Capture::from_file(filepath).unwrap(); b.iter(|| { strings::dump_strings(&mut cap, &7, &mut resolver, &false, &None); }); }, ); pktstring_group.finish(); } criterion_group!(benches, str); criterion_main!(benches);