#![allow(unused)] use criterion::{black_box, criterion_group, criterion_main, Criterion}; use osmanthus::{parse_absolute, parse_relative, parse_timestamp, parse_series}; use osmanthus::bind::Param; pub fn criterion_benchmark_parse_series(c: &mut Criterion) { let samples = vec![ "https://www.kingname.info/2022/JULY309/this20350205-is-gnelist/", "H_502_5@2010oct03 @H_502_5@2012/07/26.doc", "https://new.qq.com/rain/a/k09381120221126A03W2R00", "/202211/W02022110720101102590.jpg", "http://cjrb.cjn.cn/html/2023-01/16/content_250826.htm" ]; c.bench_function( "parse_series benchmark result:", |b| { b.iter(||{ for item in &samples{ parse_series(item, Some(Param{strict: true, ..Default::default()})); } }); } ); } pub fn criterion_benchmark_parse_relative(c: &mut Criterion) { let samples = vec![ "发布于 - /n6小時前,", "( 시간: 3분 전)", "- about / 2 minutes ago", "30天前 来源:新华网", "publish 5 days ago." ]; c.bench_function( "parse_relative benchmark result:", |b| { b.iter(||{ for item in &samples{ parse_relative(item, Some(Param{strict: true, ..Default::default()})); } }); } ); } pub fn criterion_benchmark_parse_absolute(c: &mut Criterion) { let samples = vec![ "11/08/2023 | 11:51", "aug 06 .2023 10h42", "2013年12月8号 下午 3:00", "2023-07-30T14:12:51+02:00", "26 ก.ค. 2566 08:00 น.", "2014年04月08日11时25分18秒 下午", "2023-02-05 10:03:37 pm cst", ]; c.bench_function( "parse_absolute benchmark result:", |b| { b.iter(||{ for item in &samples{ parse_absolute(item, Some(Param{strict: true, ..Default::default()})); } }); } ); } pub fn criterion_benchmark_parse_timestamp(c: &mut Criterion) { let samples = vec![ "1677380340", "1677380340236982058745", "16773803abc", "你好,中国", ]; c.bench_function( "parse_timestamp benchmark result:", |b| { b.iter(||{ for item in &samples{ parse_timestamp(item, Some(Param{strict: true, ..Default::default()})); } }); } ); } criterion_group!(benches, criterion_benchmark_parse_timestamp, criterion_benchmark_parse_series, criterion_benchmark_parse_relative, criterion_benchmark_parse_absolute); criterion_main!(benches);