You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/06/24 20:30:31 UTC
[doris] branch master updated: [improvement]Use std::iota to set values of _block_rowids in SegmentIterator::_read_columns_by_index (#10386)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new df908873bb [improvement]Use std::iota to set values of _block_rowids in SegmentIterator::_read_columns_by_index (#10386)
df908873bb is described below
commit df908873bb40246a78cc5f58d09c4671786619b0
Author: Jerry Hu <mr...@gmail.com>
AuthorDate: Sat Jun 25 04:30:23 2022 +0800
[improvement]Use std::iota to set values of _block_rowids in SegmentIterator::_read_columns_by_index (#10386)
---
be/src/olap/rowset/segment_v2/segment_iterator.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
index 69efdefff4..0769db56eb 100644
--- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp
@@ -872,9 +872,11 @@ Status SegmentIterator::_read_columns_by_index(uint32_t nrows_read_limit, uint32
_read_columns(_first_read_column_ids, _current_return_columns, rows_to_read));
_cur_rowid += rows_to_read;
if (set_block_rowid) {
- for (uint32_t rid = range_from; rid < range_to; rid++) {
- _block_rowids[nrows_read++] = rid;
- }
+ // Here use std::iota is better performance than for-loop, maybe for-loop is not vectorized
+ auto start = _block_rowids.data() + nrows_read;
+ auto end = start + rows_to_read;
+ std::iota(start, end, range_from);
+ nrows_read += rows_to_read;
} else {
nrows_read += rows_to_read;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org