From f1faadbb402b5944d440f3f5829df2d889d35e14 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Tue, 10 Feb 2026 21:28:07 +0000 Subject: [PATCH 1/2] `memory_report.py`: suppress the detailed table if all changes are <0.01MB big --- scripts/memory_report.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/memory_report.py b/scripts/memory_report.py index 1ac25b39275e61..b07bd9f466704c 100644 --- a/scripts/memory_report.py +++ b/scripts/memory_report.py @@ -25,12 +25,13 @@ import subprocess import sys import tempfile +from collections.abc import Mapping from dataclasses import dataclass, field from pathlib import Path -from typing import Any, Self +from typing import Any, Final, Self # Known projects with their Git URLs for memory testing. -KNOWN_PROJECTS: dict[str, str] = { +KNOWN_PROJECTS: Final[Mapping[str, str]] = { "flake8": "https://github.com/PyCQA/flake8", "sphinx": "https://github.com/sphinx-doc/sphinx", "prefect": "https://github.com/PrefectHQ/prefect", @@ -114,7 +115,7 @@ def format_outcome(*, old_bytes: int, new_bytes: int) -> str: elif diff < 0: return "⬇️" else: - return "☑️" + return "✅" def load_reports_from_directory(directory: Path) -> dict[str, MemoryReport]: @@ -155,7 +156,7 @@ def diff_items( # Maximum number of changed items to show per category in the detailed breakdown -MAX_CHANGED_ITEMS = 15 +MAX_CHANGED_ITEMS: Final = 15 def render_summary(projects: list[ProjectComparison]) -> str: @@ -165,8 +166,9 @@ def render_summary(projects: list[ProjectComparison]) -> str: projects.sort(key=lambda p: p.total_diff_bytes, reverse=True) - any_increased = any(p.total_diff_bytes > 0 for p in projects) - any_decreased = any(p.total_diff_bytes < 0 for p in projects) + # Suppress the memory report if no project had any top-line changes >10KB + any_increased = any(p.total_diff_bytes > 10_000 for p in projects) + any_decreased = any(p.total_diff_bytes < -10_000 for p in projects) any_changed = any_increased or any_decreased lines = ["## Memory usage report", ""] @@ -246,7 +248,7 @@ def render_summary(projects: list[ProjectComparison]) -> str: ] ) else: - lines.append("Memory usage unchanged :white_check_mark:") + lines.append("Memory usage unchanged ✅") return "\n".join(lines) From 67bfb6ba6fa6f641d336ac2a24edc77c172151c2 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 11 Feb 2026 15:57:03 +0000 Subject: [PATCH 2/2] use two decimal places for percentages --- scripts/memory_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/memory_report.py b/scripts/memory_report.py index b07bd9f466704c..91be2cb6dbbd9c 100644 --- a/scripts/memory_report.py +++ b/scripts/memory_report.py @@ -104,7 +104,7 @@ def format_diff(*, old_bytes: int, new_bytes: int) -> str: if old_bytes == 0: return f"{sign}{format_bytes(diff)} (new)" - return f"{sign}{diff / old_bytes:.1%} ({format_bytes(abs(diff))})" + return f"{sign}{diff / old_bytes:.2%} ({format_bytes(abs(diff))})" def format_outcome(*, old_bytes: int, new_bytes: int) -> str: