From 06c5a944b4125027f7ad9230d6adb35619a638bf Mon Sep 17 00:00:00 2001 From: Talison Fabio <54823205+talis-fb@users.noreply.github.com> Date: Fri, 18 Apr 2025 09:51:43 -0300 Subject: [PATCH] fix: remove extra allocation in Bytes write --- src/utils/formatting.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/utils/formatting.rs b/src/utils/formatting.rs index e91906e..3b82a09 100644 --- a/src/utils/formatting.rs +++ b/src/utils/formatting.rs @@ -109,17 +109,18 @@ impl std::fmt::Display for Bytes { debug_assert!(num >= 0.0); if num < 1_f64 { - let num_pretty = format!("{:.2}", num); - return write!(f, "{:>6} B", num_pretty); + return write!(f, "{:>6.2} B", num); } let delimiter = 1000_f64; let exponent = cmp::min((num.ln() / 6.90775).floor() as i32, 4); - let num_pretty = format!("{:.2}", (num / delimiter.powi(exponent))); - let unit_pretty = format!("{}B", Bytes::UNIT_PREFIXES[exponent as usize]); - - write!(f, "{:>6} {:>3}", num_pretty, unit_pretty,) + write!( + f, + "{:>6.2} {:>2}B", + num / delimiter.powi(exponent), + Bytes::UNIT_PREFIXES[exponent as usize], + ) } }