28 lines
No EOL
1.1 KiB
Rust
28 lines
No EOL
1.1 KiB
Rust
|
|
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
|
|
use wxbox_grib2::GribMessage;
|
|
|
|
const BREF_QC: (&[u8], &str) = (include_bytes!("MRMS_MergedBaseReflectivityQC_00.50_20250518-114212.grib2"), "MRMS_MergedBaseReflectivityQC_00.50_20250518-114212.grib2");
|
|
const ZDR: (&[u8], &str) = (include_bytes!("MRMS_MergedZdr_00.50_20250519-082040.grib2"), "MRMS_MergedZdr_00.50_20250519-082040.grib2");
|
|
const CREF: (&[u8], &str) = (include_bytes!("MRMS_MergedReflectivityQC_00.50_20250519-131639.grib2"), "MRMS_MergedReflectivityQC_00.50_20250519-131639.grib2");
|
|
|
|
fn criterion_benchmark(c: &mut Criterion) {
|
|
let mut group = c.benchmark_group("parse");
|
|
|
|
for (test_file_bytes, name) in [BREF_QC, ZDR, CREF].iter() {
|
|
group.bench_with_input(
|
|
BenchmarkId::from_parameter(name),
|
|
test_file_bytes,
|
|
|b, bytes| {
|
|
b.iter(|| {
|
|
GribMessage::new(*bytes)
|
|
});
|
|
}
|
|
);
|
|
}
|
|
|
|
group.finish();
|
|
}
|
|
|
|
criterion_group!(benches, criterion_benchmark);
|
|
criterion_main!(benches); |