From 0a8dbe086a23bbb905514007d21e2e04cdaae1e8 Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Tue, 4 Feb 2025 18:26:39 +0100 Subject: IExecutionApi: Use unordered_set in IsAvailable --- src/buildtool/execution_api/local/local_api.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/buildtool/execution_api/local/local_api.hpp') diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index 7ee74be9..f1e448a0 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -27,6 +27,7 @@ #include #include #include +#include #include // std::move #include @@ -311,12 +312,14 @@ class LocalApi final : public IExecutionApi { return found; } - [[nodiscard]] auto IsAvailable(std::vector const& digests) - const noexcept -> std::vector final { - std::vector result; + [[nodiscard]] auto IsAvailable( + std::unordered_set const& digests) const noexcept + -> std::unordered_set final { + std::unordered_set result; + result.reserve(digests.size()); for (auto const& digest : digests) { if (not IsAvailable(digest)) { - result.push_back(digest); + result.emplace(digest); } } return result; -- cgit v1.2.3