Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
1c091b1 to
c8699a6
Compare
Merging this PR will degrade performance by 10.6%
Performance Changes
Comparing Footnotes
|
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.091x ➖ datafusion / vortex-file-compressed (1.091x ➖, 0↑ 4↓)
|
File Sizes: PolarSignals ProfilingNo file size changes detected. |
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.962x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.971x ➖, 0↑ 0↓)
datafusion / parquet (0.969x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.979x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.012x ➖, 0↑ 2↓)
duckdb / parquet (0.953x ➖, 1↑ 0↓)
Full attributed analysis
|
File Sizes: FineWeb NVMeNo file size changes detected. |
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.000x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.000x ➖, 0↑ 0↓)
datafusion / parquet (1.000x ➖, 1↑ 1↓)
datafusion / arrow (0.984x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (1.005x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.003x ➖, 0↑ 0↓)
duckdb / parquet (1.016x ➖, 0↑ 1↓)
duckdb / duckdb (1.005x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-H SF=1 on NVMENo file size changes detected. |
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.078x ➖, 0↑ 26↓)
datafusion / vortex-compact (1.060x ➖, 1↑ 10↓)
datafusion / parquet (1.066x ➖, 0↑ 16↓)
duckdb / vortex-file-compressed (1.064x ➖, 0↑ 21↓)
duckdb / vortex-compact (1.047x ➖, 0↑ 8↓)
duckdb / parquet (1.041x ➖, 0↑ 6↓)
duckdb / duckdb (1.064x ➖, 0↑ 19↓)
Full attributed analysis
|
File Sizes: TPC-DS SF=1 on NVMENo file size changes detected. |
Benchmarks: FineWeb S3Verdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.024x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.704x ➖, 4↑ 0↓)
datafusion / parquet (1.085x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.113x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.124x ➖, 0↑ 1↓)
duckdb / parquet (1.018x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Random AccessVortex (geomean): 0.967x ➖ unknown / unknown (0.990x ➖, 3↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (0.991x ➖, 1↑ 0↓)
duckdb / vortex-compact (1.024x ➖, 0↑ 0↓)
duckdb / parquet (1.017x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: Statistical and Population GeneticsNo file size changes detected. |
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.024x ➖, 0↑ 2↓)
datafusion / parquet (1.015x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.014x ➖, 0↑ 2↓)
duckdb / parquet (0.990x ➖, 1↑ 0↓)
duckdb / duckdb (1.020x ➖, 0↑ 1↓)
Full attributed analysis
|
File Sizes: Clickbench on NVMEFile Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.119x ➖, 0↑ 1↓)
datafusion / vortex-compact (1.091x ➖, 0↑ 2↓)
datafusion / parquet (0.977x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (0.921x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.924x ➖, 0↑ 0↓)
duckdb / parquet (0.959x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: CompressionVortex (geomean): 1.002x ➖ unknown / unknown (0.982x ➖, 10↑ 3↓)
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.030x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.980x ➖, 1↑ 0↓)
datafusion / parquet (1.121x ➖, 0↑ 4↓)
duckdb / vortex-file-compressed (1.055x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.035x ➖, 0↑ 0↓)
duckdb / parquet (1.046x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.043x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.037x ➖, 0↑ 0↓)
datafusion / parquet (1.041x ➖, 0↑ 1↓)
datafusion / arrow (1.069x ➖, 0↑ 2↓)
duckdb / vortex-file-compressed (1.031x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.025x ➖, 0↑ 0↓)
duckdb / parquet (1.021x ➖, 0↑ 1↓)
duckdb / duckdb (1.021x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-H SF=10 on NVMENo file size changes detected. |
| 0 | ||
| } else { | ||
| let rebuilt = array.rebuild(ListViewRebuildMode::MakeExact)?; | ||
| super::uncompressed_size_in_bytes_u64(rebuilt.elements(), ctx)? |
There was a problem hiding this comment.
Can we import all those super:: methods
Summary
This stat turns out to be very useful for helping execution engines plan joins better, but its currently requires a full-decompression. This PR includes the basic structure for a new AggregateFn, including implementation for all canonical types.