Skip to content

case_when with is_null -> fill_null#8245

Merged
onursatici merged 2 commits into
developfrom
os/case-when-fill-null-rule
Jun 4, 2026
Merged

case_when with is_null -> fill_null#8245
onursatici merged 2 commits into
developfrom
os/case-when-fill-null-rule

Conversation

@onursatici

Copy link
Copy Markdown
Contributor

Summary

zip kernels are generally slower than fill_null kernels, and CASE WHEN is_null(x) THEN c ELSE x END needs to resolve x twice, whereas fill_null(x, c) does resolve x once

Signed-off-by: Onur Satici <onur@spiraldb.com>
@onursatici onursatici added the changelog/performance A performance improvement label Jun 4, 2026
Comment thread vortex-array/src/scalar_fn/fns/case_when.rs Outdated
Signed-off-by: Onur Satici <onur@spiraldb.com>
@codspeed-hq

codspeed-hq Bot commented Jun 4, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 30.19%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚡ 3 improved benchmarks
✅ 1504 untouched benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_bool_canonical_into[(1000, 10)] 45.3 µs 30.3 µs +49.41%
Simulation chunked_varbinview_canonical_into[(1000, 10)] 197.1 µs 160.8 µs +22.53%
Simulation chunked_varbinview_into_canonical[(1000, 10)] 211.7 µs 175.6 µs +20.54%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing os/case-when-fill-null-rule (f5f4749) with develop (4e6e9ed)

Open in CodSpeed

@onursatici onursatici merged commit 3ac6c77 into develop Jun 4, 2026
100 of 103 checks passed
@onursatici onursatici deleted the os/case-when-fill-null-rule branch June 4, 2026 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/performance A performance improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants