mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 15:47:58 +00:00
9940038543
I don't think there are any more releases to the 0.2.x versions, so best we're on the 0.3.x release. No change on the benchmarks, fast local time is still just as fast as before: new version bench: ``` fast_local_time time: [30.551 ns 30.595 ns 30.668 ns] ``` old version bench: ``` fast_local_time time: [30.598 ns 30.646 ns 30.723 ns] ``` --------- Co-authored-by: Bastian Köcher <git@kchr.de>
55 lines
1.6 KiB
Rust
55 lines
1.6 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
use criterion::{criterion_group, criterion_main, Criterion};
|
|
use tracing_subscriber::fmt::{
|
|
format,
|
|
time::{ChronoLocal, FormatTime},
|
|
};
|
|
|
|
fn bench_fast_local_time(c: &mut Criterion) {
|
|
c.bench_function("fast_local_time", |b| {
|
|
let mut buffer = String::new();
|
|
let t = sc_tracing::logging::FastLocalTime { with_fractional: true };
|
|
b.iter(|| {
|
|
buffer.clear();
|
|
let mut writer = format::Writer::new(&mut buffer);
|
|
t.format_time(&mut writer).unwrap();
|
|
})
|
|
});
|
|
}
|
|
|
|
// This is here just as a point of comparison.
|
|
fn bench_chrono_local(c: &mut Criterion) {
|
|
c.bench_function("chrono_local", |b| {
|
|
let mut buffer = String::new();
|
|
let t = ChronoLocal::new("%Y-%m-%d %H:%M:%S%.3f".to_string());
|
|
b.iter(|| {
|
|
buffer.clear();
|
|
let mut writer: format::Writer<'_> = format::Writer::new(&mut buffer);
|
|
t.format_time(&mut writer).unwrap();
|
|
})
|
|
});
|
|
}
|
|
|
|
criterion_group! {
|
|
name = benches;
|
|
config = Criterion::default();
|
|
targets = bench_fast_local_time, bench_chrono_local
|
|
}
|
|
criterion_main!(benches);
|