Skip to content

Make protobuf metadata fields crate-private - #10831

Merged
connortsui20 merged 1 commit into
developfrom
ct/private-metadata-fields
Oct 26, 2026
Merged

connortsui20 merged 1 commit into
developfrom
ct/private-metadata-fields

Conversation

@connortsui20

Copy link
Copy Markdown
Member

Depends on #10755.

Summary

Public metadata fields expose the stored layout as Rust API and let callers bypass typed accessors. Restrict them to the owning crate while preserving the encoded metadata.

Changes

Add getters for CUDA’s Zstd metadata and a constructor and CRS getter for spatial callers. The TUI uses the existing flat-layout accessor. Internal struct literals and metadata golden files stay unchanged.

Formatting and clippy passed. Tests passed apart from chunked_input_with_mixed_dimensions_returns_error, which fails identically on the base. GPU tests were skipped without nvcc.

API Changes

Metadata fields are now pub(crate). Direct field access and struct literals from other crates no longer compile.

@connortsui20 connortsui20 added the changelog/break A breaking API change label Oct 26, 2026 — with ChatGPT Codex Connector
@connortsui20
connortsui20 added this pull request to stack #10832 October 26, 2026 18:08
@codspeed

codspeed Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 49.03%

3 warnings, 1 note

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ Unable to measure the execution of 2 benchmarks

These benchmarks measured no execution time, so their results are not comparable and count as unchanged. This usually happens when the compiler removes the code under test.

Prevent compiler optimizations

See affected benchmarks

⚠️ 16 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

ℹ️ 40 benchmarks have no flamegraph

The flamegraph wasn't generated: the symbols of the profiling trace could not be resolved, because no information about the language frames was collected.

See affected benchmarks

❌ 8 regressed benchmarks
✅ 2431 untouched benchmarks
⏩ 12 skipped benchmarks1
🗄️ 12 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Walltime mul_u16_nonnull_avx512 13.7 µs 30.6 µs -55.33%
❌ Walltime mul_u32_nonnull_avx512 13.9 µs 30.5 µs -54.42%
❌ Walltime subtract_shapes_avx512[(32768, PerRowPerRow)] 14 µs 29.9 µs -53.17%
❌ Walltime mul_i16_nonnull_avx512 14.4 µs 30.7 µs -53.03%
❌ Walltime mul_i32_nonnull_avx512 14.6 µs 30.7 µs -52.57%
❌ Walltime mul_i32_nullable_avx512 15.4 µs 30.8 µs -49.85%
❌ Walltime mul_i8_nonnull_avx512 18.7 µs 31.3 µs -40.38%
❌ Walltime mul_u8_nonnull_avx512 22.4 µs 31.2 µs -28.31%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ct/private-metadata-fields (68d9f68) with develop (423354d)

Open in CodSpeed

Footnotes

  1. 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. ↩

  2. 12 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩

@connortsui20
connortsui20 force-pushed the ct/private-metadata-fields branch from 166712e to 13e3be2 Compare October 26, 2026 18:38
@connortsui20
connortsui20 marked this pull request as ready for review October 26, 2026 18:59
Base automatically changed from ct/strict-enum-decoding to develop October 26, 2026 19:14
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
connortsui20 force-pushed the ct/private-metadata-fields branch from 13e3be2 to 68d9f68 Compare October 26, 2026 19:15
@connortsui20
connortsui20 enabled stacked auto-merge (squash) October 26, 2026 19:15
@connortsui20
connortsui20 merged commit d9345ca into develop Oct 26, 2026
82 of 84 checks passed
@connortsui20
connortsui20 deleted the ct/private-metadata-fields branch October 26, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants