From c857a64cd63f696b16623569169d413eedf14195 Mon Sep 17 00:00:00 2001 From: CrazyRoka Date: Wed, 4 Feb 2026 22:34:23 +0000 Subject: [PATCH] perf(split): optimize FixedWidthNumber Display implementation --- src/uu/split/src/number.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/uu/split/src/number.rs b/src/uu/split/src/number.rs index b81c1e989fa..1cf2d95c23d 100644 --- a/src/uu/split/src/number.rs +++ b/src/uu/split/src/number.rs @@ -15,7 +15,7 @@ //! [radix]: https://en.wikipedia.org/wiki/Radix //! [positional notation]: https://en.wikipedia.org/wiki/Positional_notation use std::error::Error; -use std::fmt::{self, Display, Formatter}; +use std::fmt::{self, Display, Formatter, Write}; use uucore::translate; /// An overflow due to incrementing a number beyond its representable limit. @@ -241,12 +241,10 @@ impl FixedWidthNumber { impl Display for FixedWidthNumber { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - let digits: String = self - .digits - .iter() - .map(|d| map_digit(self.radix, *d)) - .collect(); - write!(f, "{digits}") + for d in &self.digits { + f.write_char(map_digit(self.radix, *d))?; + } + Ok(()) } }