From 293223d0cf504c6bf0f314dcdabced1e828906dd Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Wed, 24 Aug 2022 12:22:01 +0200 Subject: [PATCH] Tune drop_excess_capacity --- src/concurrency_limiter.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/concurrency_limiter.rs b/src/concurrency_limiter.rs index d966ea323eb1..ba9e82447dd2 100644 --- a/src/concurrency_limiter.rs +++ b/src/concurrency_limiter.rs @@ -152,14 +152,14 @@ mod state { fn drop_excess_capacity(&mut self) { self.assert_invariants(); - if self.active_jobs == self.pending_jobs { - // Drop all excess tokens - self.tokens.truncate(std::cmp::max(self.active_jobs, 1)); - } else { - // Keep some excess tokens to satisfy requests faster - const MAX_EXTRA_CAPACITY: usize = 2; - self.tokens.truncate(std::cmp::max(self.active_jobs + MAX_EXTRA_CAPACITY, 1)); - } + + // Drop all tokens that can never be used anymore + self.tokens.truncate(std::cmp::max(self.pending_jobs, 1)); + + // Keep some excess tokens to satisfy requests faster + const MAX_EXTRA_CAPACITY: usize = 2; + self.tokens.truncate(std::cmp::max(self.active_jobs + MAX_EXTRA_CAPACITY, 1)); + self.assert_invariants(); } }