Move vortex-scalar into vortex-array#6523
Merged
connortsui20 merged 1 commit intodevelopfrom Feb 17, 2026
Merged
Conversation
06ea17f to
5097be5
Compare
Merging this PR will improve performance by 16.97%
Performance Changes
Comparing Footnotes
|
Contributor
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Contributor
Benchmarks: PolarSignals ProfilingSummary
Detailed Results Table
|
Contributor
Benchmarks: TPC-H SF=1 on NVMESummary
Detailed Results Table
|
Contributor
Benchmarks: FineWeb NVMeSummary
Detailed Results Table
|
Contributor
Benchmarks: TPC-H SF=1 on S3Summary
Detailed Results Table
|
Contributor
Benchmarks: TPC-DS SF=1 on NVMESummary
Detailed Results Table
|
Contributor
Benchmarks: TPC-H SF=10 on NVMESummary
Detailed Results Table
|
Contributor
Benchmarks: FineWeb S3Summary
Detailed Results Table
|
Contributor
Benchmarks: Statistical and Population GeneticsSummary
Detailed Results Table
|
Contributor
Benchmarks: TPC-H SF=10 on S3Summary
Detailed Results Table
|
robert3005
reviewed
Feb 16, 2026
robert3005
reviewed
Feb 16, 2026
Contributor
Benchmarks: Clickbench on NVMESummary
Detailed Results Table
|
robert3005
reviewed
Feb 16, 2026
68835ce to
402c645
Compare
robert3005
approved these changes
Feb 17, 2026
402c645 to
6425f47
Compare
6425f47 to
cdb3cd6
Compare
cdb3cd6 to
cf22045
Compare
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
cf22045 to
21275f7
Compare
fastio
pushed a commit
to fastio/vortex
that referenced
this pull request
Mar 10, 2026
Part of addressing vortex-data#6500, as we need this as a prerequisite to unifying the the extension vtable we want to add. After this, we still need to move `vortex-dtype` into `vortex-array`. --- I had claude generate a script to do basically _all_ of the work (except 2 other manual things to make clippy happy). <details> ```sh #!/usr/bin/env bash set -euo pipefail # Merge vortex-scalar into vortex-array, then delete vortex-scalar entirely. # # Run from the repo root: # bash scripts/merge-scalar-into-array.sh # ─── Step 1: Move source files into vortex-array/src/scalar/ ──────────────── mkdir -p vortex-array/src/scalar cp -r vortex-scalar/src/* vortex-array/src/scalar/ mv vortex-array/src/scalar/lib.rs vortex-array/src/scalar/mod.rs # ─── Step 2: Strip crate-level lint attrs from scalar/mod.rs ──────────────── # These #![...] inner attributes are only valid at the crate root. Drop them. sed -i '' '/^#!\[deny/d; /^#!\[warn/d' vortex-array/src/scalar/mod.rs # ─── Step 3: Add `pub mod scalar;` to vortex-array/src/lib.rs ────────────── sed -i '' 's/^pub mod search_sorted;$/pub mod scalar; pub mod search_sorted;/' \ vortex-array/src/lib.rs # Also fix the doc comment that references vortex_scalar::Scalar. sed -i '' 's/\[scalars\](vortex_scalar::Scalar)/[scalars](crate::scalar::Scalar)/' \ vortex-array/src/lib.rs # ─── Step 4: Fix imports in moved scalar files ───────────────────────────── # 4a: crate:: → crate::scalar:: (all internal references, ~138 occurrences). fd -e rs . vortex-array/src/scalar -x sed -i '' 's/crate::/crate::scalar::/g' # 4b: vortex_scalar:: → vortex_array::scalar:: (doc examples, 3 occurrences). fd -e rs . vortex-array/src/scalar -x sed -i '' 's/vortex_scalar::/vortex_array::scalar::/g' # ─── Step 5: Fix imports in existing vortex-array files ───────────────────── # vortex_scalar:: → crate::scalar:: (~229 occurrences in ~144 files). # Exclude the scalar/ subdirectory (already handled above). fd -e rs . vortex-array/src --exclude scalar -x sed -i '' 's/vortex_scalar::/crate::scalar::/g' # ─── Step 6: Fix imports in all other crates ──────────────────────────────── # vortex_scalar:: → vortex_array::scalar:: across the entire workspace, # excluding vortex-array (handled above) and vortex-scalar (being deleted). fd -e rs . \ --exclude vortex-array \ --exclude vortex-scalar \ -x sed -i '' 's/vortex_scalar::/vortex_array::scalar::/g' # ─── Step 7: Update vortex-array/Cargo.toml ───────────────────────────────── # 7a: Add bytes dependency (after async-lock, alphabetically). sed -i '' '/^async-lock = { workspace = true }/a\ bytes = { workspace = true }\ ' vortex-array/Cargo.toml # 7b: Add "scalar" feature to vortex-proto. sed -i '' 's/vortex-proto = { workspace = true, features = \["expr"\] }/vortex-proto = { workspace = true, features = ["expr", "scalar"] }/' \ vortex-array/Cargo.toml # 7c: Remove vortex-scalar dependency. sed -i '' '/^vortex-scalar = /d' vortex-array/Cargo.toml # 7d: Remove vortex-scalar/arbitrary from arbitrary feature list. sed -i '' '/"vortex-scalar\/arbitrary",/d' vortex-array/Cargo.toml # ─── Step 8: Remove vortex-scalar dep from all other Cargo.toml files ─────── fd -g Cargo.toml . \ --exclude vortex-array \ --exclude vortex-scalar \ -x sed -i '' '/^vortex-scalar = /d' # ─── Step 9: Update vortex/src/lib.rs ─────────────────────────────────────── # Point the scalar re-export at vortex-array instead of vortex-scalar. sed -i '' 's/pub use vortex_scalar::\*;/pub use vortex_array::scalar::*;/' \ vortex/src/lib.rs # ─── Step 10: Remove vortex-scalar from workspace root Cargo.toml ─────────── # Remove from members list. sed -i '' '/"vortex-scalar",/d' Cargo.toml # Remove workspace dependency definition. sed -i '' '/^vortex-scalar = .*path = /d' Cargo.toml # ─── Step 11: Delete the vortex-scalar crate entirely ─────────────────────── rm -rf vortex-scalar echo "" echo "Done! Run these to verify:" echo " cargo +nightly fmt --all" echo " cargo check -p vortex-array" echo " cargo check" echo " cargo clippy --all-targets --all-features" echo " cargo test -p vortex-array" ``` </details> After this, just had to update the lockfiles (both cargo and public-api). Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of addressing #6500, as we need this as a prerequisite to unifying the the extension vtable we want to add.
After this, we still need to move
vortex-dtypeintovortex-array.I had claude generate a script to do basically all of the work. Some manual changes were done after review but quite small.
Details