Add benchmarks for DateTime parsing and formatting
This commit is contained in:
parent
db8784f97c
commit
53ef941c3a
|
@ -2213,4 +2213,53 @@ mod tests {
|
|||
assert_eq!(format!("{} ", ymd_formatted), format!("{:<17}", ymd));
|
||||
assert_eq!(format!(" {} ", ymd_formatted), format!("{:^17}", ymd));
|
||||
}
|
||||
|
||||
#[cfg(feature = "bench")]
|
||||
#[bench]
|
||||
fn bench_datetime_parse_from_rfc2822(bh: &mut test::Bencher) {
|
||||
bh.iter(|| {
|
||||
let str = test::black_box("Wed, 18 Feb 2015 23:16:09 +0000");
|
||||
DateTime::parse_from_rfc2822(str).unwrap()
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "bench")]
|
||||
#[bench]
|
||||
fn bench_datetime_parse_from_rfc3339(bh: &mut test::Bencher) {
|
||||
bh.iter(|| {
|
||||
let str = test::black_box("2015-02-18T23:59:60.234567+05:00");
|
||||
DateTime::parse_from_rfc3339(str).unwrap()
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "bench")]
|
||||
#[bench]
|
||||
fn bench_datetime_from_str(bh: &mut test::Bencher) {
|
||||
use std::str::FromStr;
|
||||
|
||||
bh.iter(|| {
|
||||
let str = test::black_box("2019-03-30T18:46:57.193Z");
|
||||
DateTime::<Utc>::from_str(str).unwrap()
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "bench")]
|
||||
#[bench]
|
||||
fn bench_datetime_to_rfc2822(bh: &mut test::Bencher) {
|
||||
let pst = FixedOffset::east(8 * 60 * 60);
|
||||
let dt = pst.ymd(2018, 1, 11).and_hms_nano(10, 5, 13, 084_660_000);
|
||||
bh.iter(|| {
|
||||
test::black_box(dt).to_rfc2822()
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "bench")]
|
||||
#[bench]
|
||||
fn bench_datetime_to_rfc3339(bh: &mut test::Bencher) {
|
||||
let pst = FixedOffset::east(8 * 60 * 60);
|
||||
let dt = pst.ymd(2018, 1, 11).and_hms_nano(10, 5, 13, 084_660_000);
|
||||
bh.iter(|| {
|
||||
test::black_box(dt).to_rfc3339()
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue