Repository navigation
Drop VarBinView's debug validation in new_unchecked - #10584
Conversation
`VarBinViewArray::new_unchecked` validated its parts in debug builds with an execution context from the hidden global `legacy_session()`. Validate only when the validity is constant or a canonical host-resident bitmap, so the debug check never executes anything. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
The debug-only check executed the validity with the global legacy session. Callers of new_unchecked already promise valid parts, so drop the check instead of keeping a weaker one. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
Merging this PR will degrade performance by 0.93%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ ℹ️ | Simulation | test_scan_filter_to_arrow_array[int_float] |
3.5 ms | 4.1 ms | -13.68% |
| ❌ | Simulation | isolated_runs[u32, (16, 0)] |
78.5 µs | 88.4 µs | -11.21% |
| ❌ ℹ️ | Simulation | test_repeated_scan_filter[int_float] |
3.4 ms | 3.9 ms | -11.19% |
| ❌ ℹ️ | Simulation | test_repeated_scan_filter[int] |
2.4 ms | 2.7 ms | -10.65% |
| ⚡ | WallTime | bitpack_blocked_compress_avx512 |
5.6 µs | 4.7 µs | +19.13% |
| ⚡ | WallTime | threshold_neon[80] |
3.9 µs | 3.4 µs | +16.6% |
| ⚡ | WallTime | mul_u16_nonnull_avx2 |
12.2 µs | 11 µs | +10.85% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing rk/legacy-session-varbinview (5b51f4c) with develop (31e0724)
Footnotes
-
12 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. ↩
VarBinViewData::new_uncheckedran a debug-only validation that executed the validity usinglegacy_session(). It is deleted. Callers ofnew_uncheckedalready promise valid parts, and the checked constructors still validate.part of #9446