This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit e66dd5886015e29ebb65b06a092558defe836bd5
Author: airborne12 <airborn...@gmail.com>
AuthorDate: Fri May 17 14:40:08 2024 +0800

    [Improve](inverted index) improve performance by introducing bulk contains 
for bitmap in _build_index_result_column (#34831)
---
 be/src/olap/rowset/segment_v2/segment_iterator.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp 
b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
index a74fb305795..bb91a14bd48 100644
--- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
@@ -2510,12 +2510,13 @@ void SegmentIterator::_build_index_result_column(const 
uint16_t* sel_rowid_idx,
     vectorized::ColumnUInt8::Container& vec_match_pred = 
index_result_column->get_data();
     vec_match_pred.resize(block->rows());
     size_t idx_in_selected = 0;
+    roaring::BulkContext bulk_context;
 
     for (uint32_t i = 0; i < _current_batch_rows_read; i++) {
         auto rowid = _block_rowids[i];
         if (sel_rowid_idx == nullptr ||
             (idx_in_selected < select_size && i == 
sel_rowid_idx[idx_in_selected])) {
-            if (index_result.contains(rowid)) {
+            if (index_result.containsBulk(bulk_context, rowid)) {
                 vec_match_pred[idx_in_selected] = true;
             } else {
                 vec_match_pred[idx_in_selected] = false;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to