Files
Notes/notes-service/vendor/croner/benches/croner_bench.rs
T
2026-08-01 16:11:49 +03:00

23 lines
672 B
Rust

use chrono::Local;
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use croner::{parser::CronParser, Cron};
fn parse_take_100(_n: u64) {
let cron: Cron = CronParser::builder()
.seconds(croner::parser::Seconds::Optional)
.build()
.parse("15 15 15 L 3 *")
.expect("Couldn't parse cron string");
let time = Local::now();
for _time in cron.clone().iter_after(time).take(100) {}
}
pub fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("parse_take_100", |b| {
b.iter(|| parse_take_100(black_box(20)))
});
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);