refactor(array): own struct field vectors - #8957
Conversation
408e2e4 to
95d9aad
Compare
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals Profiling 📖Vortex (geomean): 0.915x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.915x ➖, 3↑ 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 (0.914x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.950x ➖, 2↑ 0↓)
datafusion / parquet (0.934x ➖, 2↑ 0↓)
duckdb / vortex-file-compressed (0.898x ✅, 4↑ 0↓)
duckdb / vortex-compact (0.969x ➖, 0↑ 0↓)
duckdb / parquet (0.957x ➖, 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 (1.069x ➖, 0↑ 2↓)
datafusion / vortex-compact (1.079x ➖, 0↑ 5↓)
datafusion / parquet (1.066x ➖, 1↑ 4↓)
datafusion / arrow (1.091x ➖, 0↑ 9↓)
duckdb / vortex-file-compressed (1.078x ➖, 0↑ 4↓)
duckdb / vortex-compact (1.069x ➖, 0↑ 3↓)
duckdb / parquet (1.049x ➖, 0↑ 3↓)
duckdb / duckdb (1.061x ➖, 0↑ 3↓)
No file size changes detected. |
Benchmarks: Vortex queries 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.034x ➖, 0↑ 0↓)
datafusion / parquet (1.068x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.088x ➖, 0↑ 0↓)
duckdb / parquet (1.072x ➖, 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 (0.954x ➖, 6↑ 0↓)
datafusion / vortex-compact (0.958x ➖, 2↑ 0↓)
datafusion / parquet (0.959x ➖, 8↑ 2↓)
duckdb / vortex-file-compressed (0.965x ➖, 3↑ 0↓)
duckdb / vortex-compact (0.971x ➖, 0↑ 0↓)
duckdb / parquet (0.979x ➖, 1↑ 0↓)
duckdb / duckdb (0.990x ➖, 0↑ 1↓)
No file size changes detected. |
Benchmarks: FineWeb S3 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.990x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.877x ➖, 1↑ 0↓)
datafusion / parquet (0.925x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.938x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.952x ➖, 0↑ 0↓)
duckdb / parquet (0.936x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population Genetics 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.026x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.000x ➖, 0↑ 0↓)
duckdb / parquet (1.002x ➖, 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 (1.105x ❌, 1↑ 4↓)
datafusion / parquet (1.050x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.120x ❌, 0↑ 4↓)
duckdb / parquet (1.006x ➖, 0↑ 0↓)
duckdb / duckdb (1.010x ➖, 0↑ 0↓)
File Size Changes (201 files changed, +0.0% overall, 102↑ 99↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.926x ➖, 5↑ 0↓)
datafusion / vortex-compact (1.010x ➖, 0↑ 0↓)
datafusion / parquet (0.904x ➖, 11↑ 0↓)
datafusion / arrow (0.986x ➖, 3↑ 0↓)
duckdb / vortex-file-compressed (0.985x ➖, 3↑ 0↓)
duckdb / vortex-compact (0.973x ➖, 3↑ 0↓)
duckdb / parquet (0.999x ➖, 0↑ 0↓)
duckdb / duckdb (1.012x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: Random Access 📖Vortex (geomean): 1.020x ➖ How to read Verdict and Engines
unknown / unknown (1.024x ➖, 0↑ 4↓)
|
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.921x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.952x ➖, 0↑ 0↓)
datafusion / parquet (0.912x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.945x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.955x ➖, 0↑ 0↓)
duckdb / parquet (0.923x ➖, 0↑ 0↓)
|
Benchmarks: Clickbench on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.153x ❌, 0↑ 35↓)
datafusion / parquet (1.119x ❌, 0↑ 26↓)
duckdb / vortex-file-compressed (1.111x ❌, 0↑ 26↓)
duckdb / parquet (1.064x ➖, 0↑ 8↓)
duckdb / duckdb (1.064x ➖, 0↑ 7↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: Appian on NVME 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.038x ➖, 0↑ 1↓)
datafusion / parquet (1.041x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.023x ➖, 0↑ 0↓)
duckdb / parquet (1.030x ➖, 0↑ 0↓)
duckdb / duckdb (1.031x ➖, 0↑ 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 (0.984x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.944x ➖, 1↑ 0↓)
datafusion / parquet (0.930x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (1.009x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.000x ➖, 0↑ 0↓)
duckdb / parquet (0.980x ➖, 0↑ 0↓)
|
Benchmarks: Compression 📖Vortex (geomean): 0.994x ➖ How to read Verdict and Engines
unknown / unknown (1.019x ➖, 1↑ 8↓)
|
|
I think this is fine to do since the current structure predates the time when array's were wrapped with an arc |
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
95d9aad to
ecbc6cc
Compare
Summary
ArrayRefiteratorsVec<ArrayRef>fromStructDataPartsandunmasked_fieldsWhy
A follow-up change needs to transfer Struct fields into
ArraySlotswithout cloning everyArrayRef. This PR isolates the required public API changes so downstream impact can be reviewed separately.