From 9f3aecaf0226fa13c77eab2bcd55ff81abff5511 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 28 May 2026 22:07:55 +0000 Subject: [PATCH] perf: optimize list deduplication in config merge Co-authored-by: SatoryKono <13055362+SatoryKono@users.noreply.github.com> --- src/bioetl/infrastructure/config_merge.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/bioetl/infrastructure/config_merge.py b/src/bioetl/infrastructure/config_merge.py index 5bbffbaab6..5ca5e2336c 100644 --- a/src/bioetl/infrastructure/config_merge.py +++ b/src/bioetl/infrastructure/config_merge.py @@ -35,14 +35,9 @@ def _default_concat_list_merger( if all(isinstance(item, str) for item in base) and all( isinstance(item, str) for item in override ): - seen: set[str] = set() - merged: list[Any] = [] # Any: YAML config values are heterogeneous - for item in base + override: - item_str = str(item) - if item_str not in seen: - seen.add(item_str) - merged.append(item) - return merged + # OPTIMIZATION: dict.fromkeys() leverages fast C-level iteration and + # insertion-order preservation, outperforming pure-Python seen=set() loops + return list(dict.fromkeys(base + override)) return [*base, *override]