pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/vortex-data/vortex/pull/9126

ull-requests-be6017ec12798e73.css" /> refactor: propagate bound expressions through layouts by joseph-isaacs · Pull Request #9126 · vortex-data/vortex · GitHub
Skip to content

refactor: propagate bound expressions through layouts - #9126

Draft
joseph-isaacs wants to merge 1 commit into
ji/bound-expr-foundationfrom
ji/bound-expr-stack
Draft

refactor: propagate bound expressions through layouts#9126
joseph-isaacs wants to merge 1 commit into
ji/bound-expr-foundationfrom
ji/bound-expr-stack

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Summary

  • Execute BoundExpression directly against arrays.
  • Carry bound projections and filters through scan plans and LayoutReader evaluation.
  • Rebind expressions at child-layout scope changes across list, dictionary, struct, row-index, flat, chunked, and zoned layouts.
  • Update file, CUDA, compatibility-generator, and TUI consumers and tests.

Why

Once a scan or layout knows its authoritative root dtype, retaining the bound tree keeps each node's dtype available and avoids repeated recursive type inference.

Impact

This is PR 2 of 2 in the stack and is based on the bound-expression foundation in #9125. Review the foundation PR first; this PR's diff contains only the consumer and layout propagation.

Validation

  • RUSTC_WRAPPER= cargo nextest run -p vortex-array -p vortex-layout — 3,282 passed, 1 skipped
  • RUSTC_WRAPPER= cargo check -p vortex-file -p vortex-cuda -p vortex-tui -p vortex-compat
  • cargo +nightly fmt --all -- --check
  • git diff --check

@codspeed-hq

codspeed-hq Bot commented Jul 31, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 48.43%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

❌ 6 regressed benchmarks
✅ 1879 untouched benchmarks
⏩ 12 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation extend_from_array_non_zctl_overlapping[(10000, 8)] 708.9 µs 2,460.4 µs -71.19%
Simulation extend_from_array_non_zctl_overlapping[(1000, 32)] 294 µs 891.2 µs -67.01%
Simulation extend_from_array_zctl[(10000, 8)] 1.2 ms 2.2 ms -45.5%
Simulation extend_from_array_zctl[(1000, 64)] 732.2 µs 1,199 µs -38.93%
Simulation extend_from_array_non_zctl_overlapping[(1000, 8)] 297.5 µs 427.8 µs -30.47%
Simulation extend_from_array_zctl[(1000, 8)] 341.9 µs 399.9 µs -14.49%

Tip

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


Comparing ji/bound-expr-stack (1da1017) with ji/bound-expr-foundation (bcb3aea)

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy