Slots are a Box<[...]> instead of Vec<...>#7822
Conversation
Signed-off-by: Robert Kruszewski <github@robertk.io>
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.010x ➖ datafusion / vortex-file-compressed (1.010x ➖, 0↑ 0↓)
|
File Sizes: PolarSignals ProfilingNo file size changes detected. |
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.008x ➖, 0↑ 1↓)
datafusion / vortex-compact (0.991x ➖, 0↑ 0↓)
datafusion / parquet (0.993x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.002x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.975x ➖, 0↑ 0↓)
duckdb / parquet (0.994x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: FineWeb NVMeNo file size changes detected. |
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (0.906x ➖, 7↑ 0↓)
datafusion / vortex-compact (0.937x ➖, 1↑ 0↓)
datafusion / parquet (0.895x ✅, 6↑ 0↓)
datafusion / arrow (0.937x ➖, 8↑ 0↓)
duckdb / vortex-file-compressed (0.930x ➖, 4↑ 0↓)
duckdb / vortex-compact (0.961x ➖, 0↑ 0↓)
duckdb / parquet (0.930x ➖, 6↑ 0↓)
duckdb / duckdb (0.947x ➖, 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 (0.997x ➖, 1↑ 1↓)
datafusion / vortex-compact (1.003x ➖, 0↑ 3↓)
datafusion / parquet (1.012x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.022x ➖, 3↑ 3↓)
duckdb / vortex-compact (1.010x ➖, 1↑ 1↓)
duckdb / parquet (1.009x ➖, 1↑ 4↓)
duckdb / duckdb (0.985x ➖, 2↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-DS SF=1 on NVMENo file size changes detected. |
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.304x ❌, 0↑ 3↓)
datafusion / vortex-compact (1.069x ➖, 0↑ 0↓)
datafusion / parquet (1.000x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (1.005x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.058x ➖, 0↑ 0↓)
duckdb / parquet (1.023x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (1.005x ➖, 0↑ 1↓)
duckdb / vortex-compact (0.975x ➖, 0↑ 0↓)
duckdb / parquet (0.995x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: Statistical and Population GeneticsNo file size changes detected. |
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.858x ✅, 20↑ 0↓)
datafusion / vortex-compact (0.856x ✅, 21↑ 0↓)
datafusion / parquet (0.882x ✅, 18↑ 0↓)
datafusion / arrow (0.851x ✅, 21↑ 0↓)
duckdb / vortex-file-compressed (0.888x ✅, 14↑ 0↓)
duckdb / vortex-compact (0.907x ➖, 10↑ 0↓)
duckdb / parquet (0.946x ➖, 1↑ 0↓)
duckdb / duckdb (0.932x ➖, 2↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-H SF=10 on NVMENo file size changes detected. |
Benchmarks: Random AccessVortex (geomean): 1.176x ❌ unknown / unknown (1.139x ❌, 0↑ 39↓)
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.949x ➖, 1↑ 0↓)
datafusion / parquet (0.936x ➖, 5↑ 0↓)
duckdb / vortex-file-compressed (0.944x ➖, 4↑ 1↓)
duckdb / parquet (0.961x ➖, 1↑ 0↓)
duckdb / duckdb (0.970x ➖, 4↑ 0↓)
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 (0.961x ➖, 1↑ 1↓)
datafusion / vortex-compact (0.938x ➖, 3↑ 0↓)
datafusion / parquet (1.075x ➖, 0↑ 3↓)
duckdb / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.957x ➖, 0↑ 0↓)
duckdb / parquet (1.026x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: CompressionVortex (geomean): 1.007x ➖ unknown / unknown (1.022x ➖, 1↑ 9↓)
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.099x ➖, 0↑ 3↓)
datafusion / vortex-compact (0.968x ➖, 0↑ 0↓)
datafusion / parquet (1.088x ➖, 0↑ 4↓)
duckdb / vortex-file-compressed (1.006x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.059x ➖, 0↑ 1↓)
duckdb / parquet (0.945x ➖, 0↑ 0↓)
Full attributed analysis
|
Merging this PR will degrade performance by 20.78%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | filter_all_true[100000] |
8.8 µs | 7.7 µs | +15.02% |
| ⚡ | Simulation | filter_all_true[250000] |
8.8 µs | 7.7 µs | +14.59% |
| ❌ | Simulation | new_bp_prim_test_between[i32, 32768] |
140.2 µs | 169.7 µs | -17.39% |
| ⚡ | Simulation | patched_take_10k_adversarial |
259.1 µs | 229 µs | +13.14% |
| ❌ | Simulation | new_bp_prim_test_between[i16, 32768] |
120.3 µs | 135.3 µs | -11.08% |
| ❌ | Simulation | new_bp_prim_test_between[i32, 16384] |
93.8 µs | 109.4 µs | -14.26% |
| ❌ | Simulation | new_bp_prim_test_between[i64, 16384] |
114.4 µs | 144.4 µs | -20.78% |
| ⚡ | Simulation | patched_take_10k_dispersed |
316 µs | 285.9 µs | +10.53% |
| ❌ | Simulation | patched_take_10k_contiguous_patches |
258.9 µs | 287.8 µs | -10.03% |
| ⚡ | Simulation | patched_take_10k_first_chunk_only |
302.5 µs | 272.5 µs | +11.03% |
| ⚡ | Simulation | take_10k_first_chunk_only |
271.2 µs | 226.7 µs | +19.62% |
| ⚡ | Simulation | take_10k_dispersed |
284.4 µs | 240.4 µs | +18.34% |
| ❌ | Simulation | decompress_rd[f64, (100000, 0.01)] |
843.3 µs | 1,021.7 µs | -17.46% |
| ❌ | Simulation | decompress_rd[f32, (100000, 0.1)] |
495.9 µs | 583.8 µs | -15.06% |
| ❌ | Simulation | decompress_rd[f64, (100000, 0.1)] |
843.3 µs | 1,021.7 µs | -17.46% |
| ❌ | Simulation | decompress_rd[f32, (100000, 0.01)] |
495.9 µs | 583.8 µs | -15.06% |
Comparing rk/smallvec (99b4a4a) with develop (eda8c2c)
|
This is not worth it |
Trying to see if the one pointer less is beneficial
Signed-off-by: Robert Kruszewski github@robertk.io