From 5a1e238a5f54602f92ae179b54ee492dffd105ee Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 May 2026 18:50:45 +0000 Subject: [PATCH] perf: pre-normalize exclusions once and use set for O(1) lookup in exclude_multi_roms Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com> --- backend/handler/filesystem/roms_handler.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/handler/filesystem/roms_handler.py b/backend/handler/filesystem/roms_handler.py index 9e3405b0b..f33e22840 100644 --- a/backend/handler/filesystem/roms_handler.py +++ b/backend/handler/filesystem/roms_handler.py @@ -377,17 +377,17 @@ class FSRomsHandler(FSHandler): normalized_excluded = { excluded_name.strip().lower() for excluded_name in excluded_names } - filtered_files: list[str] = [] + excluded_files: set[str] = set() for rom in roms: normalized_rom_name = rom.strip().lower() if normalized_rom_name in normalized_excluded or any( - fnmatch.fnmatch(normalized_rom_name, exc_name.strip().lower()) - for exc_name in excluded_names + fnmatch.fnmatch(normalized_rom_name, exc_name) + for exc_name in normalized_excluded ): - filtered_files.append(rom) + excluded_files.add(rom) - return [f for f in roms if f not in filtered_files] + return [f for f in roms if f not in excluded_files] def _build_rom_file( self, rom: Rom, rom_path: Path, file_name: str, file_hash: FileHash