diff options
author | Geir Storli <geirst@yahooinc.com> | 2023-10-19 14:29:30 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2023-10-26 14:28:04 +0000 |
commit | 907d16021c13860a3f35969ab30b98135f6c52bd (patch) | |
tree | 72dd112d8655cfe21e0ff21473880e9ef3132362 /searchlib | |
parent | ba3dc31ec22a8830d35263563726b8915b0ea638 (diff) |
Simplify after review feedback.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.h | 16 |
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; } |