Consolidate benchmark SQL queries into vortex-bench/sqldirectory#8684
Conversation
Collect all checked-in benchmark SQL under vortex-bench/sql/ (tpch/, tpcds/, appian/, clickbench_queries.sql, spatialbench.sql, statpopgen.sql, polarsignals.sql) and update the query loaders for the new layout. The tpch/results/duckdb CSVs referenced by duckdb-bench stay where they were. Also extract the SQL previously hard-coded as string constants in src/fineweb/mod.rs and src/realnest/gharchive.rs into sql/fineweb.sql and sql/gharchive.sql, loaded at runtime with the same semicolon-split convention as the other single-file query suites. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ANEJi5xgm5tpb16ezGGzd
Merging this PR will not alter performance
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
vortex-bench/sqldirectory
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 0.996x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.996x ➖, 1↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.045x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.036x ➖, 0↑ 1↓)
datafusion / parquet (1.015x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.042x ➖, 0↑ 2↓)
duckdb / vortex-compact (1.015x ➖, 0↑ 0↓)
duckdb / parquet (1.043x ➖, 0↑ 1↓)
File Size Changes (1 files changed, +0.0% overall, 1↑ 0↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.057x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.060x ➖, 0↑ 2↓)
datafusion / parquet (1.048x ➖, 1↑ 4↓)
datafusion / arrow (1.086x ➖, 1↑ 9↓)
duckdb / vortex-file-compressed (1.043x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.049x ➖, 0↑ 1↓)
duckdb / parquet (1.022x ➖, 1↑ 1↓)
duckdb / duckdb (1.048x ➖, 0↑ 2↓)
File Size Changes (10 files changed, +0.1% overall, 5↑ 5↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.079x ➖, 0↑ 27↓)
datafusion / vortex-compact (1.062x ➖, 0↑ 15↓)
datafusion / parquet (1.081x ➖, 0↑ 29↓)
duckdb / vortex-file-compressed (1.067x ➖, 0↑ 23↓)
duckdb / vortex-compact (1.047x ➖, 0↑ 7↓)
duckdb / parquet (1.035x ➖, 1↑ 5↓)
duckdb / duckdb (1.063x ➖, 0↑ 16↓)
File Size Changes (7 files changed, +0.0% overall, 3↑ 4↓)
Totals:
|
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.851x ➖, 1↑ 0↓)
datafusion / vortex-compact (1.007x ➖, 0↑ 1↓)
datafusion / parquet (0.908x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.999x ➖, 0↑ 1↓)
duckdb / vortex-compact (0.956x ➖, 0↑ 0↓)
duckdb / parquet (0.987x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (0.981x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.965x ➖, 1↑ 0↓)
duckdb / parquet (0.981x ➖, 0↑ 0↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: Clickbench Sorted on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.007x ➖, 0↑ 1↓)
datafusion / parquet (1.011x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.998x ➖, 1↑ 1↓)
duckdb / parquet (0.990x ➖, 0↑ 0↓)
duckdb / duckdb (1.001x ➖, 0↑ 0↓)
File Size Changes (201 files changed, -0.0% overall, 106↑ 95↓)
Totals:
|
Benchmarks: Random AccessVortex (geomean): 0.932x ➖ How to read Verdict and Engines
unknown / unknown (0.954x ➖, 7↑ 1↓)
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.978x ➖, 2↑ 0↓)
datafusion / parquet (1.003x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.968x ➖, 5↑ 0↓)
duckdb / parquet (0.992x ➖, 0↑ 0↓)
duckdb / duckdb (0.990x ➖, 0↑ 1↓)
File Size Changes (102 files changed, -0.0% overall, 43↑ 59↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.105x ❌, 0↑ 14↓)
datafusion / vortex-compact (1.087x ➖, 0↑ 8↓)
datafusion / parquet (1.078x ➖, 0↑ 6↓)
datafusion / arrow (1.111x ❌, 0↑ 15↓)
duckdb / vortex-file-compressed (1.068x ➖, 0↑ 3↓)
duckdb / vortex-compact (1.052x ➖, 0↑ 0↓)
duckdb / parquet (1.038x ➖, 0↑ 0↓)
duckdb / duckdb (1.040x ➖, 0↑ 0↓)
File Size Changes (27 files changed, -0.0% overall, 12↑ 15↓)
Totals:
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.013x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.052x ➖, 0↑ 1↓)
datafusion / parquet (0.988x ➖, 2↑ 2↓)
duckdb / vortex-file-compressed (1.042x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.038x ➖, 0↑ 0↓)
duckdb / parquet (1.012x ➖, 0↑ 0↓)
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.980x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.090x ➖, 0↑ 5↓)
datafusion / parquet (1.070x ➖, 0↑ 3↓)
duckdb / vortex-file-compressed (0.976x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.972x ➖, 0↑ 0↓)
duckdb / parquet (0.989x ➖, 0↑ 0↓)
|
Benchmarks: Appian on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.040x ➖, 0↑ 0↓)
datafusion / parquet (1.042x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.033x ➖, 0↑ 0↓)
duckdb / parquet (1.033x ➖, 0↑ 0↓)
duckdb / duckdb (1.030x ➖, 0↑ 0↓)
File Size Changes (4 files changed, -0.0% overall, 2↑ 2↓)
Totals:
|
Benchmarks: CompressionVortex (geomean): 0.998x ➖ How to read Verdict and Engines
unknown / unknown (0.967x ➖, 9↑ 1↓)
|
Rationale for this change
This PR reorganizes benchmark SQL queries by consolidating them into a centralized
vortex-bench/sql/directory structure. Previously, queries were either hardcoded as string arrays in Rust source files or scattered across different locations. This change improves maintainability by:.sqlfiles, making them easier to review, edit, and version controlWhat changes are included in this PR?
New SQL files created:
vortex-bench/sql/fineweb.sql- 9 string-focused queries (Q0-Q8) for the FineWeb datasetvortex-bench/sql/gharchive.sql- 5 queries (Q0-Q4) for GitHub Archive nested event dataSQL files reorganized:
vortex-bench/sql/subdirectories:appian/q{1..8}.sql→sql/appian/q{1..8}.sqltpch/q*.sql→sql/tpch/q*.sqltpcds/{01..99}.sql→sql/tpcds/{01..99}.sqlclickbench_queries.sql→sql/clickbench_queries.sqlpolarsignals.sql→sql/polarsignals.sqlspatialbench.sql→sql/spatialbench.sqlstatpopgen.sql→sql/statpopgen.sqlRust source changes:
vortex-bench/src/fineweb/mod.rs: Replaced hardcodedQUERIESarray with file-based loading fromsql/fineweb.sqlvortex-bench/src/realnest/gharchive.rs: Replaced hardcodedQUERIESarray with file-based loading fromsql/gharchive.sqlvortex-bench/src/appian/mod.rs: Updated documentation to reflect newsql/appian/pathvortex-bench/src/clickbench/benchmark.rs: Updated default query file path tosql/clickbench_queries.sqlvortex-bench/src/tpch/mod.rs,vortex-bench/src/tpcds/mod.rs: Updated to use newsql/directory structurepolarsignals,spatialbench,statpopgen): Updated query file paths to use newsql/directoryAll query loading now uses a consistent pattern: read the SQL file, split on semicolons, trim whitespace, filter empty statements, and enumerate for query numbering.
What APIs are changed? Are there any user-facing changes?
No public APIs are changed. This is an internal reorganization of benchmark infrastructure. The benchmark behavior remains identical—queries are loaded and executed in the same order, just from external files instead of hardcoded strings.
Users running benchmarks will not notice any difference in functionality or output.
https://claude.ai/code/session_015ANEJi5xgm5tpb16ezGGzd