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