23 lines
672 B
Rust
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);
|