Skip to content

Remove EncodeVTable#6036

Merged
gatesn merged 3 commits intodevelopfrom
ngates/remove-encode-vtable
Jan 19, 2026
Merged

Remove EncodeVTable#6036
gatesn merged 3 commits intodevelopfrom
ngates/remove-encode-vtable

Conversation

@gatesn
Copy link
Contributor

@gatesn gatesn commented Jan 19, 2026

Having an EncodeVTable implies the caller knows the target encoding.

Instead we want to have pluggable "compressors", where the output array could be anything.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the changelog/break A breaking API change label Jan 19, 2026
@gatesn gatesn requested a review from joseph-isaacs January 19, 2026 17:01
@gatesn gatesn enabled auto-merge (squash) January 19, 2026 17:02
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@codspeed-hq
Copy link

codspeed-hq bot commented Jan 19, 2026

CodSpeed Performance Report

Merging this PR will degrade performance by 12.36%

Comparing ngates/remove-encode-vtable (1332f16) with develop (a375642)1

Summary

⚡ 24 improved benchmarks
❌ 2 regressed benchmarks
✅ 1228 untouched benchmarks
⏩ 1254 skipped benchmarks2

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

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation bench_many_nulls[0.9] 462.2 µs 527.4 µs -12.36%
Simulation bench_many_nulls[0.5] 323.4 µs 359.3 µs -10.01%
Simulation binary_search_vortex 875.6 ns 788.1 ns +11.1%
Simulation new_raw_prim_test_between[u32, 32768] 136.5 µs 106.7 µs +27.95%
Simulation new_raw_prim_test_between[u64, 16384] 104.3 µs 87.8 µs +18.76%
Simulation new_raw_prim_test_between[u64, 32768] 192.6 µs 159.5 µs +20.75%
Simulation new_alp_prim_test_between[f32, 16384] 106.5 µs 91.5 µs +16.42%
Simulation new_alp_prim_test_between[f64, 32768] 260.9 µs 227.9 µs +14.45%
Simulation new_alp_prim_test_between[f64, 16384] 140.3 µs 123.8 µs +13.34%
Simulation new_bp_prim_test_between[i16, 16384] 87.4 µs 72.3 µs +20.89%
Simulation new_bp_prim_test_between[i16, 32768] 147.9 µs 117.8 µs +25.52%
Simulation new_bp_prim_test_between[i32, 16384] 104.8 µs 89.7 µs +16.86%
Simulation new_bp_prim_test_between[i64, 16384] 137.9 µs 121.4 µs +13.63%
Simulation new_bp_prim_test_between[i64, 32768] 247.9 µs 215 µs +15.3%
Simulation new_bp_prim_test_between[i32, 32768] 181.9 µs 151.8 µs +19.82%
Simulation new_raw_prim_test_between[f32, 32768] 157.8 µs 111.6 µs +41.41%
Simulation new_raw_prim_test_between[f64, 2048] 28.5 µs 25.6 µs +11.33%
Simulation new_raw_prim_test_between[f32, 2048] 24.9 µs 22.3 µs +11.63%
Simulation new_raw_prim_test_between[f64, 16384] 115.7 µs 91.5 µs +26.44%
Simulation new_raw_prim_test_between[f32, 16384] 86.9 µs 63.9 µs +35.96%
... ... ... ... ... ...

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

Footnotes

  1. No successful run was found on develop (2162a15) during the generation of this report, so a375642 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 1254 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.

@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

❌ Patch coverage is 83.72093% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.85%. Comparing base (b4204cb) to head (1332f16).
⚠️ Report is 5 commits behind head on develop.

Files with missing lines Patch % Lines
encodings/zigzag/src/compute/mod.rs 80.55% 7 Missing ⚠️

☔ View full report in Codecov by Sentry.
📢 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.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn merged commit ebd37e1 into develop Jan 19, 2026
46 of 48 checks passed
@gatesn gatesn deleted the ngates/remove-encode-vtable branch January 19, 2026 17:51
danking pushed a commit that referenced this pull request Feb 6, 2026
Having an EncodeVTable implies the caller knows the target encoding.

Instead we want to have pluggable "compressors", where the output array
could be anything.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
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