From c9e8d8f9b168dec2bc7b845da38449e96708cf8e Mon Sep 17 00:00:00 2001 From: Jon Atack Date: Tue, 6 Jul 2021 17:01:15 +0200 Subject: [PATCH] p2p: process more candidates per protection iteration for the usual case when some of the protected networks don't have eviction candidates, to reduce the number of iterations in ProtectEvictionCandidatesByRatio(). Picks up an idea in ef411cd2 that I had dropped. --- src/net.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 1611b1a24b..9567e2b0cf 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -940,9 +940,7 @@ void ProtectEvictionCandidatesByRatio(std::vector& evicti while (num_networks != 0 && num_protected < max_protect_by_network) { const size_t disadvantaged_to_protect{max_protect_by_network - num_protected}; - const size_t protect_per_network{ - std::max(disadvantaged_to_protect / networks.size(), static_cast(1))}; - + const size_t protect_per_network{std::max(disadvantaged_to_protect / num_networks, static_cast(1))}; // Early exit flag if there are no remaining candidates by disadvantaged network. bool protected_at_least_one{false};