#![allow(missing_docs)]
use criterion::{Criterion, criterion_group, criterion_main};
use expiration_date::ExpirationDate;
use std::hint::black_box;
fn bench_from_string(c: &mut Criterion) {
c.bench_function("from_string/iso_date", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box("2025-12-31")));
});
});
c.bench_function("from_string/dd_mm_yyyy", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box("31-12-2025")));
});
});
c.bench_function("from_string/yyyymmdd_numeric", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box("20251231")));
});
});
c.bench_function("from_string/rfc3339", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box(
"2025-12-31T18:30:00Z",
)));
});
});
c.bench_function("from_string/utc_suffix", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box(
"2025-12-31 18:30:00 UTC",
)));
});
});
c.bench_function("from_string/numeric_days", |b| {
b.iter(|| {
let _ = black_box(ExpirationDate::from_string(black_box("30.0")));
});
});
}
criterion_group!(benches, bench_from_string);
criterion_main!(benches);