Repository navigation
Conversation
Merging this PR will regress 1 benchmark
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ |
Simulation | density_sweep_dense_runs[0.001] |
29.7 µs | 47.8 µs | -37.82% |
| ⚡ |
Simulation | density_sweep_dense_runs[0.9] |
53.3 µs | 15.5 µs | ×3.4 |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/df-morsler (bb419a6) with develop (a6c23ef)
Footnotes
-
359 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. ↩
Polar Signals Profiling ResultsLatest Run
Previous Runs (20)
Powered by Polar Signals Cloud |
Benchmarks: FineWeb NVMe 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.009x ➖, 0↑ 0↓)
datafusion / parquet (1.007x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.058x ➖, 1↑ 5↓)
duckdb / parquet (0.991x ➖, 0↑ 0↓)
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.002x ➖, 3↑ 8↓)
datafusion / parquet (1.003x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.991x ➖, 4↑ 4↓)
duckdb / parquet (0.993x ➖, 6↑ 2↓)
File Size Changes (25 files changed, -43.5% overall, 0↑ 25↓)
Totals:
|
Benchmarks: PolarSignals Profiling 📖Vortex (geomean): 1.132x ❌ How to read Verdict and Engines
datafusion / vortex-file-compressed (1.132x ❌, 0↑ 4↓)
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 (1.044x ➖, 1↑ 5↓)
datafusion / parquet (1.006x ➖, 2↑ 1↓)
duckdb / vortex-file-compressed (0.993x ➖, 0↑ 1↓)
duckdb / parquet (0.999x ➖, 0↑ 0↓)
File Size Changes (9 files changed, -43.9% overall, 0↑ 9↓)
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.027x ➖, 6↑ 5↓)
datafusion / parquet (1.010x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.020x ➖, 0↑ 0↓)
duckdb / parquet (0.991x ➖, 2↑ 1↓)
File Size Changes (9 files changed, -44.0% overall, 0↑ 9↓)
Totals:
|
Benchmarks: Statistical and Population Genetics 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.023x ➖, 2↑ 3↓)
duckdb / parquet (1.004x ➖, 0↑ 0↓)
File Size Changes (2 files changed, -32.3% overall, 0↑ 2↓)
Totals:
|
Benchmarks: FineWeb S3 📖Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.909x ➖, 0↑ 1↓)
datafusion / parquet (1.080x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.980x ➖, 0↑ 0↓)
duckdb / parquet (1.046x ➖, 1↑ 1↓)
|
Benchmarks: Clickbench Sorted on NVME 📖Verdict: No clear signal (medium confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.411x ❌, 1↑ 9↓)
datafusion / parquet (1.002x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.007x ➖, 0↑ 0↓)
duckdb / parquet (0.976x ➖, 0↑ 0↓)
File Size Changes (201 files changed, -42.8% overall, 49↑ 152↓)
Totals:
|
Benchmarks: Clickbench on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.364x ❌, 0↑ 33↓)
datafusion / parquet (0.999x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.014x ➖, 1↑ 4↓)
duckdb / parquet (1.001x ➖, 0↑ 0↓)
File Size Changes (101 files changed, -39.2% overall, 0↑ 101↓)
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 (1.057x ➖, 0↑ 1↓)
datafusion / parquet (1.093x ➖, 1↑ 4↓)
duckdb / vortex-file-compressed (1.046x ➖, 0↑ 1↓)
duckdb / parquet (1.024x ➖, 0↑ 0↓)
|
030ed74 to
784050a
Compare
394447f to
9181b1e
Compare
9181b1e to
4e5f945
Compare
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
|
This PR was closed because it has been inactive for 7 days since being marked as stale. |
4e5f945 to
82be146
Compare
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
The Morselizer carried a copy of the natural-split helpers from the opener it replaced, which predated the precomputed-assignment form on the base branch. Port that forward: cache a NaturalSplits (row boundaries plus each split's assignment byte) instead of raw ranges, and translate a byte range with two binary searches instead of scanning every split. The async OnceCell cache the Morselizer introduced is kept. Compute the boundaries after binding the scan's projection and filter, then reuse them for byte-to-row partition alignment and scan preparation. The shared cache keeps partitions on the same boundaries and avoids repeated layout walks. Signed-off-by: Adam Gutglick <adam@spiraldb.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Develop changed `opener.rs` after this branch removed it. Apply the same changes to the morsel planner: - Let `FilePruner` decide if pruning is useful (#9841). - Share the physical Arrow schema of each file across partitions. - Disable projection pushdown for projections with lambdas (#10215). - Bind expressions before optimizing them (#10002). - Explain why the limit applies after the filter (#8766). - Use `ScanBuilder<ArrayRef>` and `RepeatedScan<ArrayRef>`, because develop keeps `ScanBuilder::map`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Robert Kruszewski <github@robertk.io>
82be146 to
bb419a6
Compare
Rationale for this change
What changes are included in this PR?
What APIs are changed? Are there any user-facing changes?