docs: show decimal encoding evolution - #10007
Conversation
Signed-off-by: "Connor Tsui" <connor.tsui20@gmail.com>
Merging this PR will regress 1 benchmark
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | take_fsl_random[128, 10] |
32.7 µs | 58.6 µs | -44.17% |
| ⚡ | Simulation | take_fsl_u32_random[128, 100] |
137.4 µs | 76.9 µs | +78.59% |
| ⚡ | Simulation | take_fsl_u64_random[64, 10] |
53.7 µs | 30.8 µs | +74.42% |
| ⚡ | Simulation | take_fsl_f16_random[256, 100] |
141.2 µs | 87.9 µs | +60.74% |
| ⚡ | Simulation | density_sweep_single_slice[0.9] |
45.2 µs | 28.5 µs | +58.47% |
| ⚡ | Simulation | take_fsl_random[64, 100] |
143.9 µs | 124.9 µs | +15.15% |
| ⚡ | WallTime | filtered_owned_i64_avx512[OneNullInEight] |
26 µs | 23.4 µs | +11.26% |
| Simulation | fixed_16_advancing_ptr_safe[100] |
< 1 ns | < 1 ns | N/A | |
| Simulation | preverify_advancing_ptr_unchecked[1000] |
< 1 ns | < 1 ns | N/A | |
| Simulation | preverify_advancing_ptr_unchecked[10000] |
< 1 ns | < 1 ns | N/A |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ct/fix-decimal-diagram (306608c) with develop (2c8c7ee)2
Footnotes
-
329 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. ↩
-
No successful run was found on
develop(9e8abca) during the generation of this report, so 2c8c7ee was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
## Summary These benchmarks took 10 or 100 indices from 500 lists, so the measured region copied a few kilobytes at most and nearly all of its cost was allocation. Each reported two fixed values about 27 µs apart and flipped between them on pull requests that changed no Vortex code, including a documentation-only one (#10007). Excluding allocator time in #9994 settled dictionary decode but not these. They kept flipping, and `take_fsl_u64_random[64, 10]` fell to 0.6 µs, the harness floor, which shows how little of it was ever Vortex work. ## Changes Remove `take_fsl_random`, its typed and nullable variants, and the helpers and constants only they used. The chunked and forced-strategy benchmarks still cover the FSL take paths with deterministic index patterns. The #9994 setting stays: dictionary decode is in another shard and still needs it, and this was the only benchmark it hollowed out. Signed-off-by: Claude <noreply@anthropic.com> Co-authored-by: Claude <noreply@anthropic.com>
Summary
Addresses the diagram feedback and suggested before/after comparison from #9947. Shows how adding multi-child decimal support preserves the v1 wire contract while adding v2.
Changes
Separates the implementations before and after multi-child support, labels their read/write paths, and removes the unrelated footer details. Updates the example and caption to distinguish the implementation change from serialization.