aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2023-10-19 14:29:30 +0000
committerGeir Storli <geirst@yahooinc.com>2023-10-19 14:29:30 +0000
commitde43677264a053a6c6e6d7de60e434625fb57c43 (patch)
tree586f867e67db84d364958e259d88664473ed2cfb /searchlib/src
parent1376c7072c1fe952d4874c729ef3e66e8eb4624a (diff)
Simplify after review feedback.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
index b2c9c95412f..562c15e94d5 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h
@@ -451,17 +451,15 @@ NumericPostingSearchContext<BaseSC, AttrT, DataT>::calc_estimated_hits_in_range(
{
size_t exact_sum = 0;
size_t estimated_sum = 0;
- uint32_t count = 0;
constexpr uint32_t max_posting_lists_to_count = 1000;
- for (auto it = this->_lowerDictItr; it != this->_upperDictItr; ++it) {
- if (count >= max_posting_lists_to_count) {
- uint32_t remaining_posting_lists = this->_upperDictItr - it;
- float hits_per_posting_list = static_cast<float>(exact_sum) / static_cast<float>(max_posting_lists_to_count);
- estimated_sum = remaining_posting_lists * hits_per_posting_list;
- break;
- }
+ auto it = this->_lowerDictItr;
+ for (uint32_t count = 0; (it != this->_upperDictItr) && (count < max_posting_lists_to_count); ++it, ++count) {
exact_sum += this->_postingList.frozenSize(it.getData().load_acquire());
- ++count;
+ }
+ if (it != this->_upperDictItr) {
+ uint32_t remaining_posting_lists = this->_upperDictItr - it;
+ float hits_per_posting_list = static_cast<float>(exact_sum) / static_cast<float>(max_posting_lists_to_count);
+ estimated_sum = remaining_posting_lists * hits_per_posting_list;
}
return exact_sum + estimated_sum;
}