1
0
Fork 0
firefox/third_party/rust/uuid/benches/format_str.rs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

66 lines
1.6 KiB
Rust

#![feature(test)]
extern crate test;
use std::io::Write;
use test::Bencher;
use uuid::Uuid;
#[bench]
fn hyphenated(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 36];
write!(&mut buffer as &mut [_], "{:x}", uuid.hyphenated()).unwrap();
buffer
});
}
#[bench]
fn simple(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 32];
write!(&mut buffer as &mut [_], "{:x}", uuid.simple()).unwrap();
buffer
})
}
#[bench]
fn urn(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 36 + 9];
write!(&mut buffer as &mut [_], "{:x}", uuid.urn()).unwrap();
buffer
})
}
#[bench]
fn encode_hyphen(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 36];
uuid.hyphenated().encode_lower(&mut buffer);
buffer
});
}
#[bench]
fn encode_simple(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 32];
uuid.simple().encode_lower(&mut buffer);
buffer
})
}
#[bench]
fn encode_urn(b: &mut Bencher) {
let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
b.iter(|| {
let mut buffer = [0_u8; 36 + 9];
uuid.urn().encode_lower(&mut buffer);
buffer
})
}