Commit 9db9384
committed
perf: fast-path inline strings in ByteViewGroupValueBuilder::vectorized_append
When the input StringView/BinaryView array has no data buffers (all values
≤12 bytes, stored inline), skip the value() → make_view() round-trip in
do_append_val_inner and instead copy the u128 views directly. Arrow
guarantees valid arrays have zero-padded inline views, so the direct copy
is semantically identical and lets the compiler vectorize the loop.
Also pre-reserve views capacity in the slow path (non-inline strings) to
avoid repeated Vec reallocation.
Closes #215681 parent c17c87c commit 9db9384
1 file changed
Lines changed: 12 additions & 2 deletions
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
170 | | - | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
171 | 181 | | |
172 | 182 | | |
173 | 183 | | |
| |||
0 commit comments