Faster take for runend array#8228
Conversation
Merging this PR will improve performance by 55.26%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_bool_canonical_into[(1000, 10)] |
20.6 µs | 34.9 µs | -40.94% |
| ⚡ | Simulation | take[all_null_len65536_run4_take2048] |
382.8 µs | 45.3 µs | ×8.5 |
| ⚡ | Simulation | take[sorted_linear_len16384_run8_take512] |
120.2 µs | 66.4 µs | +81.09% |
| ⚡ | Simulation | take[dense_table_len32768_run4_take2048] |
263.4 µs | 145.9 µs | +80.58% |
| ⚡ | Simulation | take[nullable_dense_table_len32768_run4_take2048] |
265.2 µs | 152.8 µs | +73.58% |
| ⚡ | Simulation | take[binary_sparse_len65536_run4_take512] |
155.5 µs | 112.2 µs | +38.54% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[128] |
244.4 ns | 186.1 ns | +31.34% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[1024] |
304.7 ns | 246.4 ns | +23.68% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[2048] |
427.8 ns | 369.4 ns | +15.79% |
| ⚡ | Simulation | eq_i64_constant |
322.4 µs | 292.5 µs | +10.22% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/runendtake (69bad9e) with develop (c2d2722)
Footnotes
-
3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
d4a7969 to
6c5ae51
Compare
onursatici
left a comment
There was a problem hiding this comment.
this looks good to me, did you ever get your answer for if this is any faster?
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 0.989x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.989x ➖, 0↑ 0↓)
File Size Changes (1 files changed, +0.0% overall, 1↑ 0↓)
Totals:
|
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.979x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.968x ➖, 2↑ 0↓)
datafusion / parquet (0.973x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.954x ➖, 1↑ 0↓)
duckdb / vortex-compact (0.990x ➖, 1↑ 1↓)
duckdb / parquet (1.004x ➖, 0↑ 0↓)
File Size Changes (2 files changed, +0.0% overall, 1↑ 1↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.009x ➖, 0↑ 0↓)
datafusion / parquet (0.995x ➖, 2↑ 1↓)
datafusion / arrow (1.001x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.983x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.004x ➖, 0↑ 1↓)
duckdb / parquet (1.011x ➖, 0↑ 1↓)
duckdb / duckdb (1.003x ➖, 0↑ 0↓)
File Size Changes (11 files changed, +2.3% overall, 10↑ 1↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.902x ➖, 47↑ 1↓)
datafusion / vortex-compact (0.924x ➖, 25↑ 0↓)
datafusion / parquet (0.914x ➖, 33↑ 0↓)
duckdb / vortex-file-compressed (0.904x ➖, 45↑ 0↓)
duckdb / vortex-compact (0.923x ➖, 27↑ 1↓)
duckdb / parquet (0.939x ➖, 10↑ 0↓)
duckdb / duckdb (0.920x ➖, 31↑ 0↓)
File Size Changes (15 files changed, +0.4% overall, 10↑ 5↓)
Totals:
|
🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨Benchmark |
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.896x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.759x ➖, 3↑ 0↓)
datafusion / parquet (0.931x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.046x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.000x ➖, 0↑ 0↓)
duckdb / parquet (0.962x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (0.923x ➖, 2↑ 0↓)
duckdb / vortex-compact (1.000x ➖, 0↑ 0↓)
duckdb / parquet (0.989x ➖, 0↑ 0↓)
File Size Changes (1 files changed, +4.7% overall, 1↑ 0↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.884x ✅, 12↑ 0↓)
datafusion / vortex-compact (0.915x ➖, 7↑ 0↓)
datafusion / parquet (0.911x ➖, 10↑ 0↓)
datafusion / arrow (0.922x ➖, 9↑ 1↓)
duckdb / vortex-file-compressed (0.973x ➖, 1↑ 0↓)
duckdb / vortex-compact (0.982x ➖, 0↑ 0↓)
duckdb / parquet (0.985x ➖, 0↑ 0↓)
duckdb / duckdb (0.978x ➖, 0↑ 0↓)
File Size Changes (36 files changed, +2.2% overall, 25↑ 11↓)
Totals:
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.949x ➖, 6↑ 0↓)
datafusion / parquet (0.981x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.952x ➖, 9↑ 2↓)
duckdb / parquet (0.987x ➖, 1↑ 1↓)
duckdb / duckdb (1.029x ➖, 1↑ 0↓)
File Size Changes (105 files changed, +0.4% overall, 100↑ 5↓)
Totals:
|
Benchmarks: Appian on NVMEVerdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.995x ➖, 0↑ 0↓)
datafusion / parquet (0.938x ➖, 4↑ 0↓)
duckdb / vortex-file-compressed (1.040x ➖, 0↑ 0↓)
duckdb / parquet (0.954x ➖, 3↑ 0↓)
duckdb / duckdb (1.040x ➖, 0↑ 0↓)
File Size Changes (6 files changed, +4.9% overall, 4↑ 2↓)
Totals:
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.988x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.191x ➖, 0↑ 5↓)
datafusion / parquet (0.950x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.247x ➖, 0↑ 8↓)
duckdb / vortex-compact (1.195x ➖, 0↑ 7↓)
duckdb / parquet (1.213x ➖, 0↑ 5↓)
|
a447463 to
190b2a4
Compare
Signed-off-by: Robert Kruszewski <github@robertk.io>
190b2a4 to
69bad9e
Compare
Maybe this is faster?