From 0da5bafaf2d03fc9fb16821a2865db03e9aa9ef5 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 21 Feb 2025 16:23:42 +0100 Subject: [PATCH] Repo.packages_with_tags: do not construct a set of all packages (#49141) --- lib/spack/spack/repo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/repo.py b/lib/spack/spack/repo.py index e4a945f0bfe..5290f23532e 100644 --- a/lib/spack/spack/repo.py +++ b/lib/spack/spack/repo.py @@ -1179,8 +1179,9 @@ def all_package_paths(self) -> Generator[str, None, None]: yield self.package_path(name) def packages_with_tags(self, *tags: str) -> Set[str]: - v = set(self.all_package_names()) - v.intersection_update(*(self.tag_index[tag.lower()] for tag in tags)) + v = set(self.tag_index[tags[0].lower()]) + for tag in tags[1:]: + v.intersection_update(self.tag_index[tag.lower()]) return v def all_package_classes(self) -> Generator[Type["spack.package_base.PackageBase"], None, None]: