Skip to content

Add zoned layout scan plan - #9187

Draft
joseph-isaacs wants to merge 1 commit into
vortex-plan-optimizerfrom
vortex-plan-zoned
Draft

Add zoned layout scan plan#9187
joseph-isaacs wants to merge 1 commit into
vortex-plan-optimizerfrom
vortex-plan-zoned

Conversation

@joseph-isaacs

@joseph-isaacs joseph-isaacs commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a ZonedPlan physical node with a transparent data child and auxiliary zones child
  • construct it from both current vortex.zoned layouts and legacy vortex.stats layouts
  • recursively optimize both child plans
  • expose the node through the public plan API and new_plan dispatch
  • add plan-tree snapshots for current and legacy zoned layouts

Stack

This draft follows combined optimizer PR #9196. GitHub's native stack still records the former vortex-plan-optimizer branch as this PR's base and does not expose an API for removing the closed #9166 entry. Both vortex-plan-optimizer and vortex-plan-rules point to the same combined commit (e21444ddff), so this PR's effective diff contains only ZonedPlan.

Scope

This PR only represents the physical zoned layout. A later optimization can directly match (Eval, Zoned): the generic stats rewrite produces abstract bound StatFn expressions, and the zoned rule can replace the transparent data plan with zone-backed pruning state. No additional plan-node type is required, and execution remains independent of this node definition.

Checks

  • RUSTC_WRAPPER= cargo test -p vortex-layout plan::
  • RUSTC_WRAPPER= cargo clippy -p vortex-layout --all-targets --all-features -- -D warnings
  • cargo +nightly fmt --all -- --check
  • git diff --check

@codspeed-hq

codspeed-hq Bot commented Aug 6, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 23.03%

⚡ 2 improved benchmarks
✅ 1960 untouched benchmarks
⏩ 89 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation in_place_non_nullable[65536] 65.6 µs 49 µs +33.74%
Simulation cold_misaligned[(64, 256)] 5 ms 4.4 ms +13.18%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing vortex-plan-zoned (8798f72) with vortex-plan-optimizer (956389d)

Open in CodSpeed

Footnotes

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

@joseph-isaacs
joseph-isaacs force-pushed the vortex-plan-zoned branch 2 times, most recently from 3c7d15a to 92d9d40 Compare August 6, 2026 20:40
@joseph-isaacs
joseph-isaacs force-pushed the vortex-plan-zoned branch 2 times, most recently from 2961ae8 to a85df04 Compare August 10, 2026 10:16
@joseph-isaacs
joseph-isaacs force-pushed the vortex-plan-zoned branch 2 times, most recently from 8e74f85 to 49a208c Compare August 10, 2026 14:10
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant