You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Perf][C++] Bulk-copy contiguous BOUNDARY pages in the aligned reader #1075
A time range that covers only part of a chunk (e.g. a 1-day or 1-week query on a
single-chunk-per-month file) marks every page BOUNDARY, so AlignedChunkReader::get_next_page_multi_impl falls into the row-by-row scatter
loop: one RowAppender::append per value plus a per-timestamp filter re-check.
Measured at 8.6% of a 1-week wide-table query, and it made queries reading less
data as slow as a full-month query.
Proposed changes
A BOUNDARY page under a contiguous time filter (TimeBetween with not_between=false) has a fully matching [row_begin, row_end] range with no
interior holes, and the page is decoded whole, so its values are row-indexed at row_begin and can take the same bulk memcpy path as FULL_PASS.
Activity