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]