Repository navigation
chore: add benches for remaining comet native kernels - #6648
Conversation
sunchao
left a comment
There was a problem hiding this comment.
Summary
- Prior state and problem: Eight native expression benchmark targets were absent at the branch point.
- Design approach: Add standalone Criterion benchmarks using existing public kernel APIs and aggregate harness patterns.
- Correctness / compatibility analysis: Checked input construction, API contracts, surrounding implementations, and relevant Spark sources across supported versions. No introduced P1/P2 issues found within this review.
- Key design decisions: Deterministic inputs, setup outside timed loops, real serialized sketches, and scalar/null cases where included.
- Implementation sketch: Eight benchmark files plus Cargo registrations cover Bloom probes, nested casts, concatenation, HLL aggregates/scalars, list positions, map construction, and square roots.
- Behavioral changes worth calling out: Production execution and Spark routing are unchanged. The additions introduce no query runtime overhead or production abstractions.
- Suggested improvements: None meeting the P1/P2 reporting threshold.
Reviewed SHA: adcd3a97bd71b5d59d1240c919986406f9d91741. Reviewed the entire nine-file PR diff against base 33f21da181c14df7fa3e6a3104c3d7215810147e, using merge base 02df8133aa82823065d8e2959cf979f17d97f4ea. The PR remains non-draft. No existing review concerns were present.
Routed skills: review-comet-pr and review-comet-expression-pr.
Exact-head CI: Only label reported success. No build/test CI verdict was available.
Validation: All eight targets passed locked, offline cargo check. All 19 Criterion cases passed using cargo bench --profile dev --config profile.dev.debug=0 -- --test with those targets selected. No release performance measurements or Spark JVM suites were run. GitHub reports merge conflicts with the current base, so conflict-resolution changes will require fresh validation.
adcd3a9 to
84420d8
Compare
…et_native_kernels
e229f8f to
edceefe
Compare
apache#6648 added this bench after the last merge of main into this branch, and it still passed the third argument that this PR removes from SparkCastOptions::new.
* refactor: remove unused cast compatibility flag * refactor: drop unused parquet allow_incompat option The flag has no remaining reader after the cast-option cleanup, and the unused CometConf import fails scalafix. * fix: preserve DPP filters when reverting native scans * Fix SparkCastOptions constructor calls * refactor: drop the DPP scan reversion from the cast cleanup * fix: drop the removed cast-option argument from case-when calls * fix: drop the removed parquet-option argument from the page-index test * fix: drop the removed cast-option argument from the cast_nested bench apache#6648 added this bench after the last merge of main into this branch, and it still passed the third argument that this PR removes from SparkCastOptions::new. --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Andy Grove <agrove@apache.org>
Which issue does this PR close?
Closes #5396
Closes #.
Rationale for this change
What changes are included in this PR?
How are these changes tested?