#![allow(missing_docs)] use std::{env, fmt, hint::black_box}; struct ByteSizeAlwaysPad(bytesize::ByteSize); impl fmt::Display for ByteSizeAlwaysPad { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.pad(&self.0.display().to_string()) } } #[divan::bench] fn display_inner_display() { black_box(format!( "{}", black_box(bytesize::ByteSize::kib(42).display()), )); } #[divan::bench] fn display_bytesize_standard() { black_box(format!( "{}", black_box(bytesize::ByteSize::kib(42).display()), )); } #[divan::bench] fn display_bytesize_custom() { black_box(format!("|{:-^10}|", black_box(bytesize::ByteSize::kib(42)))); } #[divan::bench] fn display_always_pad_standard() { black_box(format!( "{}", black_box(ByteSizeAlwaysPad(bytesize::ByteSize::kib(42))), )); } #[divan::bench] fn display_always_pad_custom() { black_box(format!( "|{:-^10}|", black_box(ByteSizeAlwaysPad(bytesize::ByteSize::kib(42))), )); } fn main() { env::set_var("DIVAN_SAMPLE_COUNT", "1000"); divan::main(); }