fix: keep Arrow device schemas aligned with exports#8360
Conversation
|
@claude review |
|
Claude finished @0ax1's task in 2m 36s —— View job Claude PR Review
Reviewed Fix 1 — null-tolerant
|
|
@claude fix the build / lint issues |
|
Claude finished @0ax1's task in 5m 41s —— View job Build / lint statusHeads up: I'm the read-only PR review assistant here, so I can't push commits to your branch or modify files directly — I can only inspect and report. If you want the actual fix applied, see the Claude Code link at the bottom, or run the commands locally. I also can't run What CI shows right now
The only red check is The two checks that actually gate build/lint for your changed crates — CUDA and Linters and Tests — are still in progress and have not reported any error yet. By-inspection review of the diff (clean so far)I checked the usual suspects against the workspace's strict
I could not find a build or lint problem in the changed lines. If CUDA / Linters and Tests come back green, there's nothing to fix. If one of them fails, reply with the failing log (or To run the gates yourself: cargo +nightly fmt --all
cargo clippy --all-targets --all-features # workspace (non-CUDA)
cargo clippy -p vortex-cuda --all-targets # needs CUDA toolchain
|
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_varbinview_canonical_into[(1000, 10)] |
161.8 µs | 198 µs | -18.25% |
| ⚡ | Simulation | encode_varbin[(1000, 8)] |
164.1 µs | 142.9 µs | +14.91% |
| ⚡ | Simulation | encode_varbin[(1000, 4)] |
163.1 µs | 142.2 µs | +14.75% |
| ⚡ | Simulation | encode_varbin[(1000, 32)] |
169 µs | 147.7 µs | +14.41% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[128] |
244.4 ns | 215.3 ns | +13.55% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[1024] |
304.7 ns | 275.6 ns | +10.58% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing fix/arrow-device-ffi-error-out-dict-schema (54dc191) with develop (eda4dd0)
395da92 to
601bc2b
Compare
Route export_device_array_with_schema through the exporter so schema derivation sees the same rebuilt host layout that gets exported. This fixes host ListView fallback cases where the Arrow C schema could describe a different child layout than the emitted array. Also tolerate null FFI error_out pointers per the C API contract and cover both regressions with tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Alexander Droste <alexander.droste@protonmail.com>
601bc2b to
54dc191
Compare
Route export_device_array_with_schema through the exporter so schema derivation sees the same rebuilt host layout that gets exported. This fixes host ListView fallback cases where the Arrow C schema could describe a different child layout than the emitted array.