mirror of
https://github.com/wisdgod/cursor-api.git
synced 2025-10-06 23:22:48 +08:00
48 lines
1016 B
Rust
48 lines
1016 B
Rust
use bencher::{benchmark_group, benchmark_main, Bencher};
|
|
use std::time::SystemTime;
|
|
use ulid::{Generator, Ulid, ULID_LEN};
|
|
|
|
fn bench_new(b: &mut Bencher) {
|
|
b.iter(Ulid::new);
|
|
}
|
|
|
|
fn bench_generator_generate(b: &mut Bencher) {
|
|
let mut gen = Generator::new();
|
|
b.iter(|| gen.generate().unwrap());
|
|
}
|
|
|
|
fn bench_from_time(b: &mut Bencher) {
|
|
let time = SystemTime::now();
|
|
b.iter(|| Ulid::from_datetime(time));
|
|
}
|
|
|
|
fn bench_to_str(b: &mut Bencher) {
|
|
let ulid = Ulid::new();
|
|
b.iter(|| {
|
|
let mut buffer = [0; ULID_LEN];
|
|
ulid.array_to_str(&mut buffer);
|
|
});
|
|
}
|
|
|
|
fn bench_to_string(b: &mut Bencher) {
|
|
let ulid = Ulid::new();
|
|
b.iter(|| ulid.to_string());
|
|
}
|
|
|
|
fn bench_from_string(b: &mut Bencher) {
|
|
let s = Ulid::new().to_string();
|
|
b.iter(|| Ulid::from_string(&s).unwrap());
|
|
}
|
|
|
|
benchmark_group!(
|
|
ulid_perf,
|
|
bench_new,
|
|
bench_generator_generate,
|
|
bench_from_time,
|
|
bench_to_str,
|
|
bench_to_string,
|
|
bench_from_string
|
|
);
|
|
|
|
benchmark_main!(ulid_perf);
|