Skip to content

refactor(array): allocate execution outputs through context - #9671

Draft
gatesn wants to merge 3 commits into
ngates/buffer-allocator-buildersfrom
ngates/buffer-allocator-execution
Draft

refactor(array): allocate execution outputs through context#9671
gatesn wants to merge 3 commits into
ngates/buffer-allocator-buildersfrom
ngates/buffer-allocator-execution

Conversation

@gatesn

@gatesn gatesn commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Allocate execution outputs through the execution context.

Changes

  • Propagate allocators through filter, take, interleave, and patches.
  • Use context allocators in dictionary and scalar functions.
  • Add tests for allocator propagation.

@codspeed-hq

codspeed-hq Bot commented Aug 27, 2026

Copy link
Copy Markdown

Merging this PR will regress 2 benchmarks

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 44 improved benchmarks
❌ 2 regressed benchmarks
✅ 1015 untouched benchmarks
⏩ 1239 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation decompress[u16, (4000, 256)] 38 µs 55.4 µs -31.43%
Simulation push_n_vortex_buffer[u32, 128] 2.7 µs 3.1 µs -12.61%
Simulation slice_tight_loop_vortex[65536] 121.8 µs 66.4 µs +83.34%
Simulation bitwise_and_vortex_buffer[128] 6.3 µs 3.5 µs +79.37%
Simulation bitwise_or_vortex_buffer[128] 6.3 µs 3.6 µs +75.02%
Simulation slice_empty_tight_loop_vortex 71.3 µs 42.8 µs +66.74%
Simulation bitwise_not_vortex_buffer[128] 6.8 µs 4.8 µs +41.05%
Simulation bitwise_and_vortex_buffer[1024] 5.1 µs 3.8 µs +34.6%
Simulation bitwise_and_vortex_buffer[2048] 5.5 µs 4.2 µs +31.29%
Simulation bitwise_or_vortex_buffer[2048] 5.5 µs 4.2 µs +29.97%
Simulation bitwise_or_vortex_buffer[1024] 4.9 µs 3.8 µs +28.41%
Simulation from_iter[Buffer<i32>, 128] 7 µs 5.5 µs +27.58%
Simulation decompress[u64, (4000, 1024)] 90 µs 70.6 µs +27.45%
Simulation bitand_owned_lhs_vortex_buffer[128] 6 µs 4.7 µs +26.82%
Simulation bitand_owned_lhs_vortex_buffer[1024] 6.2 µs 5 µs +24.44%
Simulation bitand_owned_lhs_vortex_buffer[2048] 6.4 µs 5.2 µs +23.32%
Simulation from_iter_bit_buffer[1024] 12.9 µs 10.7 µs +20.6%
Simulation new_raw_prim_test_between[i32, 2048] 76.9 µs 64.1 µs +19.85%
Simulation set_indices_vortex_buffer[128] 2.1 µs 1.8 µs +18.58%
Simulation slice_vortex_buffer 8.2 µs 7.1 µs +14.91%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

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


Comparing ngates/buffer-allocator-execution (2af2152) with develop (b8154fd)2

Open in CodSpeed

Footnotes

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

  2. No successful run was found on ngates/buffer-allocator-builders (6360590) during the generation of this report, so develop (b8154fd) was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@gatesn gatesn mentioned this pull request Aug 27, 2026
5 tasks
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from f8000e4 to 9a8b653 Compare August 27, 2026 19:38
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from 6931802 to ed2fbe7 Compare August 27, 2026 21:37
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from ed2fbe7 to 3c868b7 Compare August 27, 2026 21:38
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from 09d740d to 3e127b9 Compare August 28, 2026 14:56
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from 8d4cbfb to 92397b9 Compare August 28, 2026 17:03
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 92397b9 to da81af8 Compare August 28, 2026 17:35
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from da81af8 to 6210f3b Compare August 28, 2026 18:02
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from 375111f to af6234b Compare August 28, 2026 18:24
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from af6234b to aa6801b Compare August 28, 2026 20:41
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from 903c310 to 2898fb0 Compare August 28, 2026 20:54
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 776037e to 8df467b Compare August 29, 2026 00:07
@codecov

codecov Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 81.06169% with 132 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.24%. Comparing base (4a232a6) to head (8df467b).

Files with missing lines Patch % Lines
...rray/src/arrays/filter/execute/take/fixed_width.rs 58.82% 21 Missing ⚠️
...ex-array/src/scalar_fn/fns/binary/compare/bytes.rs 75.60% 20 Missing ⚠️
vortex-array/src/scalar_fn/fns/like/mod.rs 73.91% 18 Missing ⚠️
...-array/src/scalar_fn/fns/binary/compare/decimal.rs 58.06% 13 Missing ⚠️
vortex-array/src/scalar_fn/fns/binary/boolean.rs 64.00% 9 Missing ⚠️
...ortex-array/src/arrays/filter/execute/take/rank.rs 58.82% 7 Missing ⚠️
vortex-array/src/arrays/filter/execute/take.rs 25.00% 6 Missing ⚠️
...x-array/src/arrays/interleave/execute/primitive.rs 75.00% 6 Missing ⚠️
vortex-array/src/patches.rs 70.00% 6 Missing ⚠️
...ortex-array/src/scalar_fn/fns/list_contains/mod.rs 60.00% 6 Missing ⚠️
... and 13 more

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 8df467b to 41308ed Compare August 29, 2026 01:01
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 41308ed to 00bd4e5 Compare August 29, 2026 01:27
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 2 times, most recently from eecf43a to 187bae1 Compare August 29, 2026 02:45
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch 3 times, most recently from cd00ce3 to 8eb8642 Compare September 2, 2026 14:44
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 8eb8642 to 68079cc Compare September 2, 2026 14:47
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 68079cc to 7b69465 Compare September 2, 2026 15:35
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 7b69465 to 57b20f0 Compare September 2, 2026 16:10
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 57b20f0 to 20a5f31 Compare September 2, 2026 16:43
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 20a5f31 to 2af2152 Compare September 2, 2026 16:59
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn
gatesn force-pushed the ngates/buffer-allocator-execution branch from 2af2152 to 2377f06 Compare September 2, 2026 17:02
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