Lazily untranspose DeltaArray validity and depend on fastlanes bit transpose code - #8725
Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
26bff75 to
0fd420f
Compare
| struct TransposedBoolMetadata { | ||
| #[prost(uint32, tag = "1")] | ||
| offset: u32, | ||
| } |
There was a problem hiding this comment.
The transport is width dependent no?
There was a problem hiding this comment.
I don't understand what you mean
There was a problem hiding this comment.
I have removed serialisation from this array. We can probably refactor it to share logic with bitpacked/delta arrays
There was a problem hiding this comment.
There is a lot of shared logic with out blocked arrays?
774f405 to
d830e48
Compare
…anspose code Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
dd0e1d9 to
e7ae6b8
Compare
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: Vortex queries 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.243x ❌, 0↑ 2↓)
datafusion / parquet (1.199x ❌, 0↑ 2↓)
duckdb / vortex-file-compressed (1.191x ❌, 0↑ 2↓)
duckdb / parquet (1.087x ➖, 0↑ 1↓)
No file size changes detected. |
Delta array unnecessarily untraposes whole validity whenever it's queried. This
pr avoids this by laziliy wrapping it in a TransposedBool array that does
untranspose when necessary.
While we're at it we remove the bit transpose logic that has been moved to
fastlanes repo