Skip to content

Move Array::serialize -> ArrayPlugin::Serialize - #7348

Merged
gatesn merged 10 commits into
developfrom
ngates/plugin-serialize
Apr 8, 2026
Merged

gatesn merged 10 commits into
developfrom
ngates/plugin-serialize

Conversation

@gatesn

@gatesn gatesn commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

The cheeky thing here is that now we require a VortexSession to serialize metadata:

  1. Makes it hard to serialize arrays you didn't intend to. All arrays must be registered at least.
  2. Allows ScalarFnArray to serialize metadata using a dedicated ArrayPlugin for that ScalarFn. So not all scalar function vtables need to define array serde semantics, they just register an optional plugin. This will allow us to port existing scalar arrays to scalar functions without a wire break

Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn
gatesn marked this pull request as draft April 8, 2026 18:33
@gatesn gatesn added the changelog/break A breaking API change label Apr 8, 2026
@codspeed

codspeed Bot commented Apr 8, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 21.67%

⚡ 2 improved benchmarks
❌ 2 regressed benchmarks
✅ 1118 untouched benchmarks
⏩ 1530 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Simulation varbinview_zip_fragmented_mask 6.4 ms 7.1 ms -10.51%
❌ Simulation varbinview_zip_block_mask 2.9 ms 3.7 ms -21.67%
⚡ Simulation old_alp_prim_test_between[f32, 32768] 268.1 µs 220.2 µs +21.75%
⚡ Simulation new_raw_prim_test_between[i32, 2048] 38.1 µs 33.9 µs +12.57%

Comparing ngates/plugin-serialize (bde3bde) with develop (1748d17)

Open in CodSpeed

Footnotes

  1. 1530 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. ↩

gatesn added 3 commits April 8, 2026 14:49
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@connortsui20

Copy link
Copy Markdown
Member

@claude review

@claude

claude Bot commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

@connortsui20 connortsui20 left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ship it (after lint fix and claude review)

@connortsui20

Copy link
Copy Markdown
Member

@claude review

@claude

claude Bot commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

gatesn added 3 commits April 8, 2026 16:31
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
…alize

Signed-off-by: Nicholas Gates <nick@nickgates.com>

# Conflicts:
#	vortex-tensor/src/encodings/turboquant/tests.rs
@gatesn
gatesn marked this pull request as ready for review April 8, 2026 21:25
@gatesn
gatesn enabled auto-merge (squash) April 8, 2026 21:25
gatesn added 3 commits April 8, 2026 18:23
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 merged commit 24736e1 into develop Apr 8, 2026
58 of 59 checks passed
@gatesn
gatesn deleted the ngates/plugin-serialize branch April 8, 2026 22:47

This branch was previously deployed

1 inactive deployment
github-pages — bde3bde6 Deployed Apr 8, 2026 by gatesn via Deploy to Cloudflare Pages #906
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants