andygrove opened a new pull request, #2011:
URL: https://github.com/apache/datafusion-ballista/pull/2011

   # Which issue does this PR close?
   
   <!-- No dedicated issue; this refreshes the stale benchmark charts in the 
README. -->
   
   This does not close a specific issue — it refreshes the performance section 
of the top-level README with current numbers and adds reproducible tooling for 
regenerating the charts.
   
   # Rationale for this change
   
   The README's Performance section quoted a "2.9x" overall speedup with a 
chart set that no longer reflects current behavior, and there was no committed, 
reproducible way to regenerate those charts. This PR replaces the stale numbers 
with a fresh, fair Spark-vs-Ballista TPC-H run and lands the chart generator so 
future refreshes are a one-command operation.
   
   # What changes are included in this PR?
   
   - Add `benchmarks/generate-comparison.py`, a chart generator (adapted from 
Apache DataFusion Comet's script, ASF header preserved) that reads two JSON 
result files and emits the four `tpch_*.png` charts the README references. It 
accepts both the Spark/Comet result format (keyed by query) and Ballista's 
`tpch` binary format (`{"queries": [...]}`) via a small `normalize_result` 
loader, plus a unit test for that loader.
   - Document the regeneration steps in `benchmarks/README.md`.
   - Commit the two raw SF100 result JSONs under `benchmarks/results/` for 
provenance.
   - Regenerate the four `docs/source/_static/images/tpch_*.png` charts and 
update the README Performance prose.
   
   Benchmark configuration for the published numbers: TPC-H scale factor 100, 
two-node cluster (2 executors × 8 cores) reading Parquet from node-local disk, 
3 iterations, identical SQLBench-H query set for both engines.
   
   - **Apache Spark 3.5.3** (vanilla, Comet disabled): 369.6 s
   - **Ballista 54.0.0-rc2** (`prefer_hash_join=true`, static planner): 244.7 s
   - **Overall speedup: 1.5x** (sum of median-of-three runtimes across all 22 
queries)
   
   Row counts match between the two engines on 21 of 22 queries; they differ 
only on Q15 (Spark 0 rows, Ballista 1), which is noted in the README and does 
not change the overall speedup.
   
   # Are there any user-facing changes?
   
   Documentation only — the README Performance section and its chart images are 
updated. No code or API changes.
   


-- 
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]

Reply via email to