From 91a05c2c372fff026cdcf44cb17143778cda338b Mon Sep 17 00:00:00 2001 From: DebanKsahu Date: Sun, 6 Sep 2026 17:43:16 +0000 Subject: [PATCH 1/2] impr: Optimized the `format_number` function --- pyperf/_formatter.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pyperf/_formatter.py b/pyperf/_formatter.py index 6c3a1eea..131721d7 100644 --- a/pyperf/_formatter.py +++ b/pyperf/_formatter.py @@ -78,15 +78,8 @@ def format_number(number, unit=None, units=None): number = '10^%s' % pow10 if isinstance(number, int) and number > 8192: - pow2 = 0 - x = number - while x >= 2: - x, r = divmod(x, 2) - pow2 += 1 - if r: - break - if not r: - number = '2^%s' % pow2 + if number & (number-1) == 0: + number = '2^%s' % (number.bit_length() - 1) if not unit: return str(number) From 6f480d63ef849c246e7b26a7fccde8f00d978c08 Mon Sep 17 00:00:00 2001 From: DebanKsahu Date: Mon, 7 Sep 2026 17:12:04 +0000 Subject: [PATCH 2/2] test: Updated `test_format_number` with new number which are closer to some `2^x` --- pyperf/tests/test_utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyperf/tests/test_utils.py b/pyperf/tests/test_utils.py index edf8549c..24b4ec78 100644 --- a/pyperf/tests/test_utils.py +++ b/pyperf/tests/test_utils.py @@ -130,15 +130,15 @@ def test_format_number(self): self.assertEqual(format_number(33 * 10 ** 4, 'unit'), '330000 units') - # powers of 10 + # powers of 2 self.assertEqual(format_number(2 ** 10, 'unit'), '1024 units') self.assertEqual(format_number(2 ** 15, 'unit'), '2^15 units') self.assertEqual(format_number(2 ** 15), '2^15') - self.assertEqual(format_number(2 ** 10 + 1, 'unit'), - '1025 units') + self.assertEqual(format_number(2 ** 15 - 1), '32767') + self.assertEqual(format_number(2 ** 15 + 1), '32769') def test_format_filesize(self): self.assertEqual(format_filesize(0),