Commits


mwish authored and GitHub committed 875e4df48e2
GH-41361: [C++][Parquet] Optimize DelimitRecords by batch execution when max_rep_level > 1 (#41362) ### Rationale for this change We uses Parquet to store nested types. When doing benchmarks, the nested types spend half time on `DelimitRecords`. The flamegraph can be seen in the issue. It can be reproduced when running `parquet-column-reader-benchmark` This patch optimize DelimitRecords by batch execution. The previous code is slow because of branching. This patch changes branch to batch execution. This could be a bit slower on some scenerio, but generally it makes DelimitRecords faster. ### What changes are included in this PR? Change logic of DelimitRecords to batch execution. ### Are these changes tested? Already has tests ### Are there any user-facing changes? Yes * GitHub Issue: #41361 Lead-authored-by: mwish <maplewish117@gmail.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Signed-off-by: Antoine Pitrou <antoine@python.org>