aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2023-10-19 14:29:30 +0000
committerGeir Storli <geirst@yahooinc.com>2023-10-26 14:28:04 +0000
commit907d16021c13860a3f35969ab30b98135f6c52bd (patch)
tree72dd112d8655cfe21e0ff21473880e9ef3132362 /searchlib
parentba3dc31ec22a8830d35263563726b8915b0ea638 (diff)
Simplify after review feedback.
Diffstat (limited to 'searchlib')
-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;
}