Add documentation links to benchmark suite PR comments#8815
Conversation
Polar Signals Profiling ResultsLatest Run
Previous Runs (4)
Powered by Polar Signals Cloud |
Benchmarks: Vortex queries 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.082x ➖, 0↑ 1↓)
datafusion / parquet (0.972x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.911x ➖, 1↑ 0↓)
duckdb / parquet (0.999x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: PolarSignals Profiling 📖Vortex (geomean): 1.092x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (1.092x ➖, 0↑ 4↓)
No file size changes detected. |
Benchmarks: FineWeb NVMe 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.015x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.015x ➖, 0↑ 0↓)
datafusion / parquet (1.025x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.037x ➖, 0↑ 1↓)
duckdb / vortex-compact (0.994x ➖, 0↑ 0↓)
duckdb / parquet (1.023x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: TPC-H SF=1 on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.938x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.962x ➖, 0↑ 0↓)
datafusion / parquet (0.957x ➖, 3↑ 0↓)
datafusion / arrow (0.922x ➖, 6↑ 0↓)
duckdb / vortex-file-compressed (0.948x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.975x ➖, 0↑ 0↓)
duckdb / parquet (0.956x ➖, 1↑ 0↓)
duckdb / duckdb (0.963x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: TPC-DS SF=1 on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.020x ➖, 0↑ 5↓)
datafusion / vortex-compact (1.073x ➖, 0↑ 30↓)
datafusion / parquet (1.014x ➖, 0↑ 5↓)
duckdb / vortex-file-compressed (1.030x ➖, 0↑ 15↓)
duckdb / vortex-compact (1.045x ➖, 0↑ 21↓)
duckdb / parquet (1.066x ➖, 0↑ 28↓)
duckdb / duckdb (1.061x ➖, 0↑ 34↓)
No file size changes detected. |
Benchmarks: FineWeb S3 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.949x ➖, 1↑ 0↓)
datafusion / vortex-compact (1.012x ➖, 1↑ 1↓)
datafusion / parquet (0.990x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.139x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.098x ➖, 0↑ 0↓)
duckdb / parquet (0.991x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population Genetics 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.031x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.019x ➖, 0↑ 0↓)
duckdb / parquet (1.016x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: Clickbench Sorted on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.943x ➖, 1↑ 0↓)
datafusion / parquet (1.001x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.961x ➖, 0↑ 0↓)
duckdb / parquet (0.997x ➖, 0↑ 0↓)
duckdb / duckdb (0.996x ➖, 0↑ 0↓)
File Size Changes (201 files changed, -0.0% overall, 95↑ 106↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.090x ➖, 0↑ 7↓)
datafusion / vortex-compact (1.032x ➖, 0↑ 4↓)
datafusion / parquet (1.038x ➖, 0↑ 4↓)
datafusion / arrow (1.050x ➖, 0↑ 5↓)
duckdb / vortex-file-compressed (1.043x ➖, 0↑ 3↓)
duckdb / vortex-compact (1.029x ➖, 0↑ 2↓)
duckdb / parquet (1.040x ➖, 0↑ 4↓)
duckdb / duckdb (1.026x ➖, 0↑ 2↓)
No file size changes detected. |
Benchmarks: TPC-H SF=1 on S3 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.021x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.997x ➖, 0↑ 1↓)
datafusion / parquet (1.029x ➖, 1↑ 1↓)
duckdb / vortex-file-compressed (1.012x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.037x ➖, 0↑ 0↓)
duckdb / parquet (1.047x ➖, 0↑ 1↓)
|
Benchmarks: Clickbench on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.992x ➖, 0↑ 0↓)
datafusion / parquet (1.002x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.956x ➖, 5↑ 1↓)
duckdb / parquet (0.993x ➖, 0↑ 0↓)
duckdb / duckdb (0.986x ➖, 2↑ 0↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: TPC-H SF=10 on S3 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.005x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.995x ➖, 0↑ 0↓)
datafusion / parquet (1.023x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.984x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.003x ➖, 0↑ 0↓)
duckdb / parquet (1.013x ➖, 0↑ 0↓)
|
Benchmarks: Random Access 📖Vortex (geomean): 1.015x ➖ How to read Verdict and Engines
unknown / unknown (1.013x ➖, 1↑ 1↓)
|
Benchmarks: Appian on NVME 📖Verdict: No clear signal (medium confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.100x ➖, 0↑ 3↓)
datafusion / parquet (1.049x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.185x ❌, 0↑ 8↓)
duckdb / parquet (1.027x ➖, 0↑ 1↓)
duckdb / duckdb (1.110x ❌, 0↑ 5↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: Compression 📖Vortex (geomean): 0.999x ➖ How to read Verdict and Engines
unknown / unknown (1.002x ➖, 1↑ 1↓)
|
Each "Benchmarks: <suite>" PR comment now carries a book icon link in its title pointing at a markdown explainer that lives next to the suite definition (vortex-bench/sql/* for SQL suites, benchmarks/* for the random-access and compression binaries). The doc path is a new "doc" field on each benchmark matrix entry, rendered into the comment title by the Compare results steps. Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
9b9a1d9 to
9c031e2
Compare
Merging this PR will not alter performance
|
The suite explainer path now lives on the Benchmark trait (doc_path) next to each suite implementation, is stamped onto every gh-json result row as a "doc" field, and compare-benchmark-jsons.py renders the full comment title (including the book-icon link) from it. This removes the per-suite "doc" fields from the workflow matrices and the title echo lines from the Compare results steps, making the Rust benchmark code the single source of truth for where each suite is documented. The random-access and compress binaries carry their doc path as a constant. Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
AdamGS
left a comment
There was a problem hiding this comment.
Should it link to the file on the current branch? The links are all 404 right now.
doc_path is now a required trait method, so every suite must ship an explainer doc; spatialbench, gharchive, and public-bi gain docs to satisfy it, and the doc plumbing through the runner and JSONL export becomes non-optional. The comment title link now pins the results' commit SHA instead of develop, so it resolves before the PR merges and stays valid afterwards. Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
|
I just turned off this stupid response!!! Good catch — fixed in 42b58dc. The comment title link now pins the results' commit SHA (which every result row already carries) instead of Generated by Claude Code |
Re-apply the random-access DOC_PATH stamping in the new random_access_bench lib after develop moved the benchmark core out of main.rs. Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Rationale for this change
It's hard to know what each CI benchmark suite actually measures or where it is defined. Every suite should ship a short explainer doc, and the recurring
# Benchmarks: <suite>PR comments should link to it.What changes are included in this PR?
vortex-bench/sql/{tpch,tpcds,appian,vortex}/README.md,vortex-bench/sql/{clickbench,fineweb,statpopgen,polarsignals,spatialbench,gharchive,public-bi}.md, andbenchmarks/{random-access,compress}-bench/README.md. Each covers what the suite measures, the dataset, the CI variants, and how to run it locally.Benchmark::doc_path()is a required trait method; the runner stamps it as adocfield on every results.json row (the standalonerandom-access-bench/compress-benchbinaries do the same via aDOC_PATHconst).scripts/compare-benchmark-jsons.pyrenders the comment title as# Benchmarks: <name> [📖](<doc>)from that field, replacing theecholines inbench-pr.yml/sql-benchmarks.yml. Per review feedback, the link pins the results' commit SHA rather thandevelop, so it resolves before the PR merges and stays valid afterwards.What APIs are changed? Are there any user-facing changes?
vortex_bench::Benchmarkgains a requireddoc_path()method (new suites must ship a doc), andprint_measurements_json/export_resultstake the doc path. results.json rows carry a newdocfield. Benchmark PR comments now start with a 📖 link to the suite's explainer.