perf[array]: small vec for slots#7825
Conversation
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.020x ➖ datafusion / vortex-file-compressed (1.020x ➖, 0↑ 1↓)
|
File Sizes: PolarSignals ProfilingNo file size changes detected. |
Merging this PR will degrade performance by 23.21%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | take_search[(0.005, 0.05)] |
167.8 µs | 131.7 µs | +27.41% |
| ⚡ | Simulation | take_search[(0.005, 0.1)] |
320.1 µs | 247.4 µs | +29.42% |
| ⚡ | Simulation | take_search[(0.005, 0.5)] |
1.5 ms | 1.2 ms | +31.01% |
| ⚡ | Simulation | take_search[(0.005, 1.0)] |
3.1 ms | 2.3 ms | +31.25% |
| ⚡ | Simulation | take_search[(0.01, 0.05)] |
178.9 µs | 142.8 µs | +25.28% |
| ⚡ | Simulation | take_search[(0.01, 0.1)] |
340.9 µs | 268.2 µs | +27.11% |
| ⚡ | Simulation | take_search[(0.01, 0.5)] |
1.6 ms | 1.3 ms | +28.56% |
| ⚡ | Simulation | take_search[(0.01, 1.0)] |
3.3 ms | 2.5 ms | +28.76% |
| ⚡ | Simulation | take_search[(0.1, 0.05)] |
248.9 µs | 212.4 µs | +17.16% |
| ⚡ | Simulation | take_search[(0.1, 0.1)] |
458.5 µs | 385.6 µs | +18.89% |
| ⚡ | Simulation | take_search[(0.1, 0.5)] |
2.2 ms | 1.8 ms | +20.4% |
| ⚡ | Simulation | take_search[(0.1, 1.0)] |
4.3 ms | 3.5 ms | +20.62% |
| ⚡ | Simulation | take_search_chunked[(0.005, 0.05)] |
192.9 µs | 162 µs | +19.05% |
| ⚡ | Simulation | take_search_chunked[(0.005, 0.1)] |
369 µs | 307.2 µs | +20.12% |
| ⚡ | Simulation | take_search_chunked[(0.005, 0.5)] |
1.8 ms | 1.5 ms | +21.06% |
| ⚡ | Simulation | take_search_chunked[(0.005, 1.0)] |
3.5 ms | 2.9 ms | +21.17% |
| ⚡ | Simulation | take_search_chunked[(0.01, 0.05)] |
205.9 µs | 175.1 µs | +17.63% |
| ⚡ | Simulation | take_search_chunked[(0.01, 0.1)] |
393.8 µs | 331.9 µs | +18.65% |
| ⚡ | Simulation | take_search_chunked[(0.01, 0.5)] |
1.9 ms | 1.6 ms | +19.49% |
| ⚡ | Simulation | take_search_chunked[(0.01, 1.0)] |
3.8 ms | 3.2 ms | +19.6% |
| ... | ... | ... | ... | ... | ... |
ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.
Comparing ji/smallvec-array (5fc8ea8) with develop (2ff9ba4)
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.043x ➖, 0↑ 2↓)
datafusion / vortex-compact (1.042x ➖, 0↑ 2↓)
datafusion / parquet (1.016x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.047x ➖, 0↑ 2↓)
duckdb / vortex-compact (1.005x ➖, 0↑ 0↓)
duckdb / parquet (1.040x ➖, 0↑ 1↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (0.873x ✅, 18↑ 0↓)
datafusion / vortex-compact (0.896x ✅, 14↑ 0↓)
datafusion / parquet (0.873x ✅, 14↑ 0↓)
datafusion / arrow (0.865x ✅, 14↑ 0↓)
duckdb / vortex-file-compressed (0.857x ✅, 21↑ 0↓)
duckdb / vortex-compact (0.920x ➖, 6↑ 0↓)
duckdb / parquet (0.898x ✅, 9↑ 0↓)
duckdb / duckdb (0.885x ✅, 13↑ 0↓)
Full attributed analysis
|
File Sizes: FineWeb NVMeNo file size changes detected. |
File Sizes: TPC-H SF=1 on NVMEFile Size Changes (195 files changed, -98.4% overall, 0↑ 195↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.010x ➖, 2↑ 1↓)
datafusion / vortex-compact (1.020x ➖, 2↑ 2↓)
datafusion / parquet (1.031x ➖, 0↑ 7↓)
duckdb / vortex-file-compressed (1.034x ➖, 2↑ 9↓)
duckdb / vortex-compact (1.019x ➖, 0↑ 3↓)
duckdb / parquet (1.025x ➖, 1↑ 9↓)
duckdb / duckdb (1.009x ➖, 0↑ 3↓)
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 (0.973x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.049x ➖, 0↑ 0↓)
datafusion / parquet (0.920x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.022x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.030x ➖, 0↑ 0↓)
duckdb / parquet (1.005x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Random AccessVortex (geomean): 0.931x ➖ unknown / unknown (0.963x ➖, 4↑ 0↓)
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.852x ✅, 19↑ 0↓)
datafusion / vortex-compact (0.850x ✅, 21↑ 0↓)
datafusion / parquet (0.881x ✅, 17↑ 0↓)
datafusion / arrow (0.847x ✅, 20↑ 0↓)
duckdb / vortex-file-compressed (0.881x ✅, 18↑ 0↓)
duckdb / vortex-compact (0.905x ➖, 11↑ 0↓)
duckdb / parquet (0.941x ➖, 0↑ 0↓)
duckdb / duckdb (0.932x ➖, 3↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-H SF=10 on NVMENo file size changes detected. |
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (1.013x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.003x ➖, 0↑ 0↓)
duckdb / parquet (1.014x ➖, 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 (0.945x ➖, 3↑ 1↓)
datafusion / parquet (0.933x ➖, 4↑ 0↓)
duckdb / vortex-file-compressed (0.921x ➖, 7↑ 0↓)
duckdb / parquet (0.967x ➖, 1↑ 0↓)
duckdb / duckdb (1.003x ➖, 0↑ 8↓)
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.898x ➖, 2↑ 0↓)
datafusion / vortex-compact (1.007x ➖, 1↑ 2↓)
datafusion / parquet (0.978x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.978x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.947x ➖, 0↑ 0↓)
duckdb / parquet (0.953x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: CompressionVortex (geomean): 0.996x ➖ unknown / unknown (0.993x ➖, 2↑ 0↓)
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.002x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.938x ➖, 0↑ 0↓)
datafusion / parquet (1.034x ➖, 1↑ 2↓)
duckdb / vortex-file-compressed (0.959x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.033x ➖, 0↑ 0↓)
duckdb / parquet (0.972x ➖, 0↑ 0↓)
Full attributed analysis
|
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
try out small vec for arrays (either 2 or 4), here we try 4