Preserve dict referenced values metadata#8499
Conversation
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals Profiling (base)Vortex (geomean): 0.846x ✅ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.846x ✅, 7↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMe (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.986x ➖, 0↑ 1↓)
datafusion / parquet (0.966x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (0.961x ➖, 1↑ 0↓)
duckdb / parquet (0.972x ➖, 0↑ 0↓)
File Size Changes (3 files changed, -46.3% overall, 1↑ 2↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.059x ➖, 0↑ 0↓)
datafusion / parquet (1.078x ➖, 0↑ 5↓)
datafusion / arrow (1.065x ➖, 0↑ 5↓)
duckdb / vortex-file-compressed (1.053x ➖, 0↑ 2↓)
duckdb / parquet (1.046x ➖, 1↑ 4↓)
File Size Changes (17 files changed, -44.5% overall, 3↑ 14↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.001x ➖, 2↑ 3↓)
datafusion / parquet (0.998x ➖, 3↑ 0↓)
duckdb / vortex-file-compressed (0.997x ➖, 0↑ 1↓)
duckdb / parquet (0.994x ➖, 0↑ 0↓)
File Size Changes (30 files changed, -43.5% overall, 1↑ 29↓)
Totals:
|
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | take[nullable_dense_table_len32768_run4_take2048] |
152.8 µs | 180 µs | -15.14% |
| ❌ | Simulation | chunked_varbinview_canonical_into[(100, 100)] |
223.8 µs | 258.5 µs | -13.4% |
| ❌ | Simulation | chunked_varbinview_opt_canonical_into[(100, 100)] |
304.7 µs | 340.7 µs | -10.56% |
| ❌ | Simulation | patched_take_10k_contiguous_patches |
260.1 µs | 289.5 µs | -10.15% |
| ❌ | Simulation | patched_take_10k_adversarial |
260.3 µs | 289.7 µs | -10.15% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[128] |
244.4 ns | 215.3 ns | +13.55% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[1024] |
304.7 ns | 275.6 ns | +10.58% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ngates/dict-like-pushdown (22a4686) with develop (02e085f)
Benchmarks: FineWeb S3 (base)Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.979x ➖, 0↑ 0↓)
datafusion / parquet (0.982x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.918x ➖, 0↑ 0↓)
duckdb / parquet (1.002x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population Genetics (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (0.830x ✅, 9↑ 0↓)
duckdb / parquet (0.877x ✅, 9↑ 0↓)
File Size Changes (3 files changed, -32.3% overall, 0↑ 3↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.950x ➖, 6↑ 0↓)
datafusion / parquet (0.978x ➖, 0↑ 0↓)
datafusion / arrow (1.008x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (1.004x ➖, 0↑ 0↓)
duckdb / parquet (1.006x ➖, 0↑ 0↓)
File Size Changes (47 files changed, -44.5% overall, 11↑ 36↓)
Totals:
|
Benchmarks: Clickbench on NVME (base)Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.942x ➖, 9↑ 1↓)
datafusion / parquet (0.959x ➖, 8↑ 0↓)
duckdb / vortex-file-compressed (0.997x ➖, 1↑ 0↓)
duckdb / parquet (1.004x ➖, 0↑ 1↓)
File Size Changes (201 files changed, -39.1% overall, 52↑ 149↓)
Totals:
|
Benchmarks: TPC-H SF=1 on S3 (base)Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.900x ➖, 3↑ 0↓)
datafusion / parquet (1.137x ➖, 4↑ 7↓)
duckdb / vortex-file-compressed (1.055x ➖, 0↑ 0↓)
duckdb / parquet (0.984x ➖, 0↑ 0↓)
|
67f74d9 to
e0e36fe
Compare
Mark LIKE as semantically infallible and preserve all_values_referenced when generic dictionary scalar pushdown rewrites dictionary values. Signed-off-by: Nicholas Gates <nick@nickgates.com>
Avoid dereferencing physical index values from null take lanes by zeroing those lanes before the cast/gather and intersecting the original index validity back into the result validity. Signed-off-by: Nicholas Gates <nick@nickgates.com>
e0e36fe to
22a4686
Compare
Mark LIKE as semantically infallible and preserve all_values_referenced when generic dictionary scalar pushdown rewrites dictionary values.