Repository navigation
Commit 2c8c7ee
authored
perf(array): reduce RowFn UTF-8 decode overhead (#9985)
Stacked on #9987, which adds the CI benchmark without changing
production code.
## Summary
Calls `VarBinViewData::validate_and_fix` directly during RowFn UTF-8
decoding, avoiding an intermediate `VarBinViewArray`. Validation and
null-payload sanitation still run on every decode, so unchecked string
access keeps the same safety contract.
The revised, guide-compliant CI cases do not establish a consistent
throughput improvement at 8,192 rows. NEON is close, while AVX2 and
AVX-512 show mixed movements. The old tiny-case gains are not sufficient
CI evidence for merging this change.
## Changes
Adds repeated-decode sanitation tests for empty and sliced arrays. The
production patch is unchanged and previously passed 78 UTF-8 and
VarBinView tests and all-target, all-feature `vortex-array` Clippy. Both
layers ran all revised cases locally and in native CI. Every reported
sample stayed below 1 ms.
[CI comparison and raw
results](https://github.com/vortex-data/vortex/blob/ct/row-fn-performance-evidence/research/row-fn-engine/performance/ci-utf8-guide.md)
isolate this layer with identical benchmarks. The overall CodSpeed
performance check flags other benchmark cases whose movement remains
unattributed. Keep this PR as a draft pending performance evidence
sufficient to justify the change.
Signed-off-by: Connor Tsui <[email protected]>1 parent d196f60 commit 2c8c7ee
1 file changed
Lines changed: 41 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
136 | 137 | | |
137 | 138 | | |
138 | 139 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
| 155 | + | |
163 | 156 | | |
164 | 157 | | |
165 | 158 | | |
| |||
330 | 323 | | |
331 | 324 | | |
332 | 325 | | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
333 | 362 | | |
334 | 363 | | |
335 | 364 | | |
| |||
0 commit comments