Skip to content

Mask bool iterator#8258

Merged
onursatici merged 1 commit into
developfrom
os/mask-iter
Jun 5, 2026
Merged

Mask bool iterator#8258
onursatici merged 1 commit into
developfrom
os/mask-iter

Conversation

@onursatici

Copy link
Copy Markdown
Contributor

Summary

Bool iterator to mask to be used by code that gets the bool values from a mask in a loop

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 degrade performance by 11.08%

⚠️ 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.

❌ 2 regressed benchmarks
✅ 1505 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_varbinview_canonical_into[(100, 100)] 269.9 µs 305.3 µs -11.57%
Simulation bitwise_not_vortex_buffer_mut[128] 246.1 ns 275.3 ns -10.6%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing os/mask-iter (44cd55a) with develop (583b003)

Open in CodSpeed

@joseph-isaacs

Copy link
Copy Markdown
Contributor

This looks like a very slow way to iterate. We should use a u64 packed validity iterator.

I am not sure if we should merge then and then that. But each call site will change

@robert3005

Copy link
Copy Markdown
Contributor

BitIterator works on u64 words, not sure what do you mean @joseph-isaacs ?

@onursatici

Copy link
Copy Markdown
Contributor Author

to get the benefit of word at a time iteration we would need to hand out u64's not bool's to the loop consumers

@onursatici

Copy link
Copy Markdown
Contributor Author

we can switch to something like #8262 to get the perf improvement but we need to yield u64 values, not bool

@onursatici onursatici enabled auto-merge (squash) June 5, 2026 14:03
@onursatici onursatici added the changelog/chore A trivial change label Jun 5, 2026
@onursatici onursatici merged commit 17bee53 into develop Jun 5, 2026
70 of 72 checks passed
@onursatici onursatici deleted the os/mask-iter branch June 5, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants