From a3253c0607052c535ea5bc0d31c325497214bf23 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Thu, 10 Dec 2020 15:01:14 +0100 Subject: [PATCH] dnsdist: Don't copy the policy for every query It used to be a cheap object to copy but it now hold two strings. --- pdns/dnsdist.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index e414ddbd29..39cb2e197e 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -1196,11 +1196,9 @@ ProcessQueryResult processQuery(DNSQuestion& dq, ClientState& cs, LocalHolders& } std::shared_ptr serverPool = getPool(*holders.pools, dq.poolname); + std::shared_ptr poolPolicy = serverPool->policy; dq.packetCache = serverPool->packetCache; - auto policy = *(holders.policy); - if (serverPool->policy != nullptr) { - policy = *(serverPool->policy); - } + const auto& policy = poolPolicy != nullptr ? *poolPolicy : *(holders.policy); const auto servers = serverPool->getServers(); selectedBackend = policy.getSelectedBackend(*servers, dq); -- 2.47.2