iemejia opened a new pull request, #56670: URL: https://github.com/apache/spark/pull/56670
### What changes were proposed in this pull request? Add a micro-benchmark for `ParquetVectorUpdater.decodeDictionaryIds` -- the second pass of dictionary-encoded Parquet reads that translates dictionary IDs into decoded values. Coverage: - **Core primitive Updaters:** Integer, Long, Float, Double. - **Type-converting Updaters:** IntegerToLong, FloatToDouble. Each group is tested with three null fractions (0%, 10%, 50%) to exercise the no-null fast path and the per-element null-check path. The benchmark includes a global pre-warm phase that interleaves both `hasNull()` branches for every updater class to ensure C2 compiles with balanced profiles, avoiding uncommon-trap demotion bias. ### Why are the changes needed? This establishes a committed baseline for #55920 (SPARK-56893), which optimizes the dictionary decode path with a `hasNull()` fast path and per-class updater overrides. Landing the benchmark first allows the optimization PR to regenerate the results, so the `.txt` diff directly shows the throughput gain -- matching the pattern used in #55922 and #55924. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? The benchmark compiles and runs successfully: ``` build/sbt "sql/Test/runMain org.apache.spark.sql.execution.datasources.parquet.ParquetDictionaryDecodeBenchmark" ``` Benchmark results will be generated via the GitHub Actions benchmark workflow. ### Was this patch authored or co-authored using generative AI tooling? Generated-by: GitHub Copilot (claude-opus-4.6) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
