mirror of
https://github.com/chronotope/chrono.git
synced 2025-09-26 20:40:51 +00:00
28 lines
907 B
Rust
28 lines
907 B
Rust
use criterion::{Criterion, black_box, criterion_group, criterion_main};
|
|
|
|
use chrono::NaiveDateTime;
|
|
|
|
fn bench_ser_naivedatetime_string(c: &mut Criterion) {
|
|
c.bench_function("bench_ser_naivedatetime_string", |b| {
|
|
let dt: NaiveDateTime = "2000-01-01T00:00:00".parse().unwrap();
|
|
b.iter(|| {
|
|
black_box(serde_json::to_string(&dt)).unwrap();
|
|
});
|
|
});
|
|
}
|
|
|
|
fn bench_ser_naivedatetime_writer(c: &mut Criterion) {
|
|
c.bench_function("bench_ser_naivedatetime_writer", |b| {
|
|
let mut s: Vec<u8> = Vec::with_capacity(20);
|
|
let dt: NaiveDateTime = "2000-01-01T00:00:00".parse().unwrap();
|
|
b.iter(|| {
|
|
let s = &mut s;
|
|
s.clear();
|
|
black_box(serde_json::to_writer(s, &dt)).unwrap();
|
|
});
|
|
});
|
|
}
|
|
|
|
criterion_group!(benches, bench_ser_naivedatetime_writer, bench_ser_naivedatetime_string);
|
|
criterion_main!(benches);
|