Skip to content

bench(parquet): Add benchmarks for mask-backed RowSelection::and_then - #10969

Open
haohuaijin wants to merge 3 commits into
apache:mainfrom
haohuaijin:bench/dense-mask-and-then
Open

bench(parquet): Add benchmarks for mask-backed RowSelection::and_then#10969
haohuaijin wants to merge 3 commits into
apache:mainfrom
haohuaijin:bench/dense-mask-and-then

Conversation

@haohuaijin

@haohuaijin haohuaijin commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

Add focused benchmarks for mask-backed RowSelection::and_then. These benchmarks measure the input shapes targeted by #10968 and make its performance results reproducible.

What changes are included in this PR?

  • Add pseudo-random and clustered mask generators.
  • Sweep outer and inner selectivity around the proposed thresholds.
  • Sweep input lengths on both sides of the 8,192-row threshold.
  • Cover non-zero bit offsets in both operands.

The benchmark registers 64 cases covering threshold boundaries and representative small, large, sparse, and dense inputs.

Are these changes tested?

Yes. The benchmark compiles on main, and Criterion lists all 64 new cases.

cargo bench -p parquet --bench row_selector --no-run
cargo bench -p parquet --bench row_selector -- mask_and_then_ --list

Are there any user-facing changes?

No.

@github-actions github-actions Bot added the parquet Changes to the parquet crate label Sep 3, 2026
haohuaijin added a commit to haohuaijin/arrow-rs that referenced this pull request Sep 3, 2026
@haohuaijin haohuaijin changed the title Add benchmarks for mask-backed RowSelection::and_then bench(parquet): Add benchmarks for mask-backed RowSelection::and_then Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant