Skip to content

Update DeltaArray to always pad values to 1024 elements and use bit transpose functions#7007

Merged
robert3005 merged 18 commits intodevelopfrom
rk/delta
Mar 20, 2026
Merged

Update DeltaArray to always pad values to 1024 elements and use bit transpose functions#7007
robert3005 merged 18 commits intodevelopfrom
rk/delta

Conversation

@robert3005
Copy link
Contributor

@robert3005 robert3005 commented Mar 18, 2026

This pr aims to fix the long standing issue with pushing down computation over
DecimalArrays where their validity wasn't matching the value layout. Now the
validity is also transposed. At the same time we avoid scalar encoding and pad
values to 1024 elements

fix #4973

Signed-off-by: Robert Kruszewski github@robertk.io

@codspeed-hq
Copy link

codspeed-hq bot commented Mar 18, 2026

Merging this PR will degrade performance by 15.51%

❌ 2 regressed benchmarks
✅ 1014 untouched benchmarks
⏩ 1522 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation bitwise_not_vortex_buffer_mut[128] 317.8 ns 376.1 ns -15.51%
Simulation bitwise_not_vortex_buffer_mut[1024] 477.2 ns 535.6 ns -10.89%

Comparing rk/delta (ad7d841) with develop (43ae2dc)

Open in CodSpeed

Footnotes

  1. 1522 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.

@robert3005 robert3005 added the changelog/feature A new feature label Mar 18, 2026
@robert3005
Copy link
Contributor Author

We should add unstable_encodings to the fuzzer

Copy link
Contributor

@joseph-isaacs joseph-isaacs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice just a q about the validity padding

@joseph-isaacs
Copy link
Contributor

Good to know that (CI / Compat check / compat-test (pull_request)) works, but we can replace that array going forwards

transpose functions

Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005
Copy link
Contributor Author

robert3005 commented Mar 20, 2026

I have made the transpose logic use the buffer in place where possible and asserted that untranspose must have been already padded to multiple of 128

Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 added the changelog/break A breaking API change label Mar 20, 2026
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 removed the changelog/feature A new feature label Mar 20, 2026
@robert3005
Copy link
Contributor Author

I have gotten rid of delta fixture and the backcompat checking. We can revive this once we are happy with the format of it.

@robert3005 robert3005 enabled auto-merge (squash) March 20, 2026 12:58
Copy link
Contributor

@joseph-isaacs joseph-isaacs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very nice

@robert3005 robert3005 merged commit 967dce5 into develop Mar 20, 2026
67 of 99 checks passed
@robert3005 robert3005 deleted the rk/delta branch March 20, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

̶r̶l̶e̶ ̶ Delta triggers undefined behavior

2 participants