Make sure both pushdown features are always enabled for DF benchmarks#8507
Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals Profiling (base)Vortex (geomean): 0.815x ✅ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.815x ✅, 8↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMe (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.984x ➖, 2↑ 1↓)
datafusion / parquet (0.989x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.946x ➖, 2↑ 0↓)
duckdb / parquet (0.995x ➖, 0↑ 0↓)
File Size Changes (3 files changed, -46.4% overall, 0↑ 3↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.022x ➖, 0↑ 0↓)
datafusion / parquet (1.027x ➖, 0↑ 3↓)
datafusion / arrow (1.013x ➖, 1↑ 1↓)
duckdb / vortex-file-compressed (1.021x ➖, 0↑ 0↓)
duckdb / parquet (0.999x ➖, 1↑ 0↓)
File Size Changes (17 files changed, -44.4% overall, 5↑ 12↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.995x ➖, 1↑ 1↓)
datafusion / parquet (0.962x ➖, 12↑ 0↓)
duckdb / vortex-file-compressed (0.933x ➖, 26↑ 1↓)
duckdb / parquet (1.002x ➖, 0↑ 0↓)
File Size Changes (30 files changed, -43.5% overall, 2↑ 28↓)
Totals:
|
Benchmarks: FineWeb S3 (base)Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.757x ➖, 3↑ 0↓)
datafusion / parquet (0.464x ✅, 9↑ 0↓)
duckdb / vortex-file-compressed (0.878x ➖, 1↑ 0↓)
duckdb / parquet (0.801x ➖, 0↑ 0↓)
|
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | decompress_rd[f64, (10000, 0.1)] |
109 µs | 135.4 µs | -19.51% |
| ❌ | Simulation | decompress_rd[f64, (10000, 0.01)] |
108.7 µs | 135 µs | -19.51% |
| ❌ | Simulation | decompress_rd[f64, (10000, 0.0)] |
108.7 µs | 135 µs | -19.5% |
| ❌ | Simulation | decompress_rd[f32, (10000, 0.1)] |
78.1 µs | 86.9 µs | -10.14% |
| ⚡ | Simulation | chunked_varbinview_opt_canonical_into[(1000, 10)] |
206.8 µs | 170.2 µs | +21.46% |
| ⚡ | Simulation | decompress_rd[f64, (100000, 0.0)] |
978.9 µs | 843.1 µs | +16.11% |
| ⚡ | Simulation | chunked_varbinview_into_canonical[(100, 100)] |
307.1 µs | 272.8 µs | +12.59% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/ensure-pushdown-df-benchmarks (e1d255f) with develop (575db9c)
Benchmarks: Statistical and Population Genetics (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.129x ❌, 0↑ 7↓)
duckdb / parquet (1.083x ➖, 0↑ 5↓)
File Size Changes (3 files changed, -32.3% overall, 1↑ 2↓)
Totals:
|
Benchmarks: Clickbench on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.018x ➖, 0↑ 3↓)
datafusion / parquet (1.001x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.979x ➖, 3↑ 1↓)
duckdb / parquet (0.995x ➖, 0↑ 0↓)
File Size Changes (201 files changed, -39.1% overall, 52↑ 149↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.985x ➖, 0↑ 0↓)
datafusion / parquet (0.998x ➖, 0↑ 0↓)
datafusion / arrow (0.988x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.998x ➖, 0↑ 0↓)
duckdb / parquet (1.005x ➖, 0↑ 0↓)
File Size Changes (47 files changed, -44.5% overall, 12↑ 35↓)
Totals:
|
Benchmarks: TPC-H SF=1 on S3 (base)Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.785x ➖, 7↑ 1↓)
datafusion / parquet (0.814x ➖, 8↑ 3↓)
duckdb / vortex-file-compressed (0.981x ➖, 0↑ 0↓)
duckdb / parquet (0.905x ➖, 0↑ 0↓)
|
Summary
I've realized that there are two code paths for
VortexFormatin the benchmarks, so just making sure they always have the same config so we can all sleep better at night.