Replace the rust usage with a somewhat hacky call to uvx - #9037
Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
1f2423f to
9ee00c3
Compare
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Previous Runs (9)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals Profiling 📖Vortex (geomean): 0.993x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMe 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.291x ❌, 0↑ 9↓)
datafusion / parquet (1.215x ❌, 0↑ 9↓)
duckdb / vortex-file-compressed (1.240x ❌, 0↑ 9↓)
duckdb / parquet (1.138x ❌, 0↑ 8↓)
File Size Changes (2 files changed, -46.3% overall, 0↑ 2↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.072x ➖, 0↑ 24↓)
datafusion / parquet (1.070x ➖, 0↑ 22↓)
duckdb / vortex-file-compressed (1.035x ➖, 0↑ 5↓)
duckdb / parquet (1.026x ➖, 0↑ 3↓)
File Size Changes (25 files changed, -43.5% overall, 0↑ 25↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVME 📖Verdict: Likely regression (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.003x ➖, 0↑ 0↓)
datafusion / parquet (0.456x ✅, 22↑ 0↓)
duckdb / vortex-file-compressed (1.011x ➖, 0↑ 2↓)
duckdb / parquet (0.544x ✅, 22↑ 0↓)
File Size Changes (17 files changed, -44.3% overall, 2↑ 15↓)
Totals:
|
Benchmarks: Clickbench Sorted on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.985x ➖, 1↑ 1↓)
datafusion / parquet (1.027x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.046x ➖, 0↑ 2↓)
duckdb / parquet (1.052x ➖, 0↑ 1↓)
File Size Changes (201 files changed, -42.8% overall, 40↑ 161↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVME 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.055x ➖, 0↑ 4↓)
datafusion / parquet (0.882x ✅, 7↑ 1↓)
duckdb / vortex-file-compressed (1.039x ➖, 0↑ 4↓)
duckdb / parquet (0.882x ✅, 9↑ 6↓)
File Size Changes (48 files changed, -44.5% overall, 5↑ 43↓)
Totals:
|
Benchmarks: FineWeb S3 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.006x ➖, 0↑ 1↓)
datafusion / parquet (0.950x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
duckdb / parquet (1.036x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population Genetics 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (0.993x ➖, 1↑ 0↓)
duckdb / parquet (1.010x ➖, 0↑ 0↓)
File Size Changes (2 files changed, -32.3% overall, 0↑ 2↓)
Totals:
|
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 (0.896x ➖, 1↑ 0↓)
datafusion / parquet (0.946x ➖, 5↑ 4↓)
duckdb / vortex-file-compressed (1.038x ➖, 0↑ 0↓)
duckdb / parquet (0.904x ➖, 1↑ 1↓)
|
Benchmarks: Clickbench on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.958x ➖, 3↑ 0↓)
datafusion / parquet (0.971x ➖, 3↑ 1↓)
duckdb / vortex-file-compressed (0.947x ➖, 4↑ 0↓)
duckdb / parquet (0.983x ➖, 0↑ 1↓)
File Size Changes (101 files changed, -39.2% overall, 0↑ 101↓)
Totals:
|
Merging this PR will improve performance by 16.76%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | WallTime | cuda/bitpacked_u8/unpack/3bw[100M] |
350.6 µs | 300.3 µs | +16.76% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/tpchgen-rs-replacement (cd229be) with develop (6609288)
Footnotes
-
3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
Rationale for this change
The git dependency is an annoying hack. We also don't write bloom filters for every chunk of every column, which makes the Parquet files MUCH smaller, which turns out to be very important at small scales.
This does require users to have
uvxinstalled, but we already have a bunch of other dependencies on those.