chore: have on demand validity and patches for array remove slot extraction#7217
chore: have on demand validity and patches for array remove slot extraction#7217joseph-isaacs merged 18 commits intodevelopfrom
Conversation
Merging this PR will degrade performance by 20.76%
Performance Changes
Comparing Footnotes
|
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk> # Conflicts: # vortex-btrblocks/src/canonical_compressor.rs # vortex-btrblocks/src/compressor/decimal.rs # vortex-btrblocks/src/compressor/float/mod.rs # vortex-btrblocks/src/compressor/integer/mod.rs # vortex-btrblocks/src/compressor/string.rs
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (0.914x ➖, 8↑ 0↓)
datafusion / vortex-compact (0.911x ➖, 9↑ 0↓)
datafusion / parquet (0.984x ➖, 2↑ 3↓)
datafusion / arrow (0.883x ✅, 15↑ 0↓)
duckdb / vortex-file-compressed (0.924x ➖, 4↑ 0↓)
duckdb / vortex-compact (0.934x ➖, 4↑ 0↓)
duckdb / parquet (0.959x ➖, 6↑ 3↓)
duckdb / duckdb (0.974x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: PolarSignals ProfilingVortex (geomean): 0.977x ➖ datafusion / vortex-file-compressed (0.977x ➖, 0↑ 0↓)
|
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.973x ➖, 1↑ 0↓)
datafusion / vortex-compact (1.003x ➖, 1↑ 0↓)
datafusion / parquet (1.024x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.030x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.007x ➖, 0↑ 0↓)
duckdb / parquet (1.016x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.963x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.966x ➖, 2↑ 0↓)
datafusion / parquet (0.966x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (0.978x ➖, 3↑ 0↓)
duckdb / vortex-compact (0.981x ➖, 1↑ 1↓)
duckdb / parquet (0.979x ➖, 1↑ 0↓)
duckdb / duckdb (0.990x ➖, 0↑ 2↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.110x ➖, 2↑ 7↓)
datafusion / vortex-compact (1.252x ➖, 0↑ 7↓)
datafusion / parquet (1.023x ➖, 2↑ 2↓)
duckdb / vortex-file-compressed (1.074x ➖, 0↑ 1↓)
duckdb / vortex-compact (0.981x ➖, 0↑ 2↓)
duckdb / parquet (1.031x ➖, 0↑ 2↓)
Full attributed analysis
|
🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨Benchmark |
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.214x ➖, 0↑ 3↓)
datafusion / vortex-compact (1.150x ➖, 0↑ 3↓)
datafusion / parquet (1.028x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.039x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.002x ➖, 0↑ 0↓)
duckdb / parquet (1.090x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Random AccessVortex (geomean): 0.756x ✅ unknown / unknown (0.818x ✅, 46↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (0.984x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.001x ➖, 0↑ 0↓)
duckdb / parquet (0.997x ➖, 0↑ 0↓)
Full attributed analysis
|
🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨Benchmark |
🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨Benchmark |
Benchmarks: CompressionVortex (geomean): 1.005x ➖ unknown / unknown (0.987x ➖, 11↑ 2↓)
|
This PR get rid of holding validity and patches on each ArrayData, instead we construct this on-demand.
This will also a follow up to have
slots_mut -> &mut [Option<ArrayRef>]instead ofwith_slots