Skip to content

Describe scheme variants in the versioning docs - #10747

Merged
connortsui20 merged 2 commits into
developfrom
ct/versioning-docs-refine
Oct 23, 2026
Merged

connortsui20 merged 2 commits into
developfrom
ct/versioning-docs-refine

Conversation

@connortsui20

@connortsui20 connortsui20 commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

The compression section of the versioning design still described per-edition scheme configuration as planned work, and said that the decimal scheme only declares the v1 wire ID. Since #10076, the decimal, bit-packing and frame-of-reference schemes pick their v1 or v2 variant from the allowed wire IDs. The section and the compression footnote of the compatibility page now describe that behavior, with the decimal scheme as the example. A v2 variant also writes the v1 ID, so a writer must allow both IDs to use it.

🤖 Generated with Claude Code

The compression section described per-edition scheme configuration as planned work. The decimal, bit-packing and frame-of-reference schemes now pick their v1 or v2 variant from the allowed wire IDs (#10076), so the section and the compatibility footnote describe that behavior instead. The section also names the frame-of-reference exception for child compression.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@codspeed

codspeed Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 1.37%

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

⚠️ 20 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

⚡ 2 improved benchmarks
❌ 5 regressed benchmarks
✅ 2401 untouched benchmarks
⏩ 12 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ CPU Simulation test_scan_filter_to_arrow_array[int_float] 3.5 ms 4.1 ms -13.69%
❌ CPU Simulation test_repeated_scan_filter[int] 2.4 ms 2.8 ms -11.54%
❌ Walltime bitpack_blocked_compress_avx2 6.7 µs 7.6 µs -11.11%
❌ CPU Simulation test_repeated_scan_filter[int_float] 3.4 ms 3.9 ms -11.04%
❌ CPU Simulation test_scan_filter_to_arrow_array[int] 2.5 ms 2.8 ms -10.59%
⚡ CPU Simulation bench_compare_primitive[(10000, 32)] 97 µs 72.9 µs +33.05%
⚡ CPU Simulation chunked_dict_primitive_canonical_into[f64, (1000, 1000, 10)] 191.7 µs 151.6 µs +26.42%

Tip

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


Comparing ct/versioning-docs-refine (98119a5) with develop (3974ee0)

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

@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10747 October 23, 2026 20:25 Inactive
@connortsui20
connortsui20 requested a review from mhk197 October 23, 2026 20:33
@connortsui20
connortsui20 marked this pull request as ready for review October 23, 2026 20:33
Comment thread docs/specs/versioning/design.md Outdated
does not exclude it. For example, the CUDA preset excludes the v2 IDs described below. The
compressor excludes a scheme if any wire ID that the scheme declares is not allowed. Child arrays go
through the same compressor, except that the frame-of-reference scheme always bit-packs its encoded
child with the v1 bit-packing variant. The writer still checks every serialized ID, so a forbidden

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would remove the frame-of-reference reference bc it should support v2 bitpacked variant as well

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 98119a5. The FoR child skipping the selected bit-packing variant is tracked as a bug in #10751, so the section now only says that child arrays go through the same compressor.

Comment thread docs/specs/versioning/design.md Outdated
child with the v1 bit-packing variant. The writer still checks every serialized ID, so a forbidden
ID in any child fails the write.

The decimal, bit-packing, and frame-of-reference schemes each have a v1 and a v2 variant. The

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this necessary to include? This will change. Should just add an example.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced the list with the decimal scheme as the one example in 98119a5, so the text does not go stale as more schemes gain variants.

Drops the list of schemes with variants, which will change, and the frame-of-reference exception for child compression, which #10751 tracks as a bug.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
connortsui20 merged commit 91b38f4 into develop Oct 23, 2026
103 of 104 checks passed
@connortsui20
connortsui20 deleted the ct/versioning-docs-refine branch October 23, 2026 21:01

This branch was successfully deployed

1 active deployment
docs-preview/pr-10747 — 98119a57 Deployed Oct 23, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/docs A docs change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants