Skip to content

Reduce vortex-fastlanes debug symbols by halving unchecked_unpack_cmp monomorphization#8504

Draft
AdamGS wants to merge 3 commits into
developfrom
adamg/cmp-experiment
Draft

Reduce vortex-fastlanes debug symbols by halving unchecked_unpack_cmp monomorphization#8504
AdamGS wants to merge 3 commits into
developfrom
adamg/cmp-experiment

Conversation

@AdamGS

@AdamGS AdamGS commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

vortex-fastlanes is currently a pretty big crate, due to its underlying structure/generics.

When running cargo clean; cargo build -p vortex-fastlanes

Currently on `develop:

  • vortex-fastlanes dev build with debug: 229MB rlib 105s
  • vortex-fastlanes dev build no debug: 119MB rlib 57s

We currently disable debug symbols for it to improve our development experience, but underlying crates can't enjoy that without explicitly adding the same or similar configuration.

With this branch, the build takes 50s and generates a 133MB rlib, with no performance impact for release builds.
For a release build, this change saves about 2.5MB (out of 7.4MB).

@codspeed-hq

codspeed-hq Bot commented Jun 19, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ 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.

⚡ 9 improved benchmarks
❌ 7 regressed benchmarks
✅ 1565 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation decompress_rd[f64, (10000, 0.01)] 108.7 µs 139.1 µs -21.86%
Simulation decompress_rd[f64, (10000, 0.1)] 109 µs 139.4 µs -21.82%
Simulation decompress_rd[f64, (10000, 0.0)] 108.7 µs 139 µs -21.79%
Simulation decompress_rd[f32, (100000, 0.0)] 496 µs 583.7 µs -15.04%
Simulation decompress_rd[f32, (10000, 0.1)] 78.1 µs 91.2 µs -14.38%
Simulation decompress_rd[f32, (10000, 0.01)] 78.1 µs 90.9 µs -14.14%
Simulation decompress_rd[f32, (10000, 0.0)] 78.5 µs 91.1 µs -13.82%
Simulation bitwise_not_vortex_buffer_mut[128] 244.4 ns 186.1 ns +31.34%
Simulation bitwise_not_vortex_buffer_mut[1024] 304.7 ns 246.4 ns +23.68%
Simulation take_10k_random 241.1 µs 196 µs +23.02%
Simulation chunked_varbinview_opt_canonical_into[(1000, 10)] 206.8 µs 170.2 µs +21.45%
Simulation take_10k_contiguous 261.7 µs 216.8 µs +20.75%
Simulation bitwise_not_vortex_buffer_mut[2048] 427.8 ns 369.4 ns +15.79%
Simulation patched_take_10k_contiguous_patches 260.6 µs 230.2 µs +13.24%
Simulation chunked_varbinview_into_canonical[(100, 100)] 307.1 µs 272.5 µs +12.71%
Simulation patched_take_10k_random 273.1 µs 242.6 µs +12.55%

Tip

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


Comparing adamg/cmp-experiment (ff7d356) with develop (5d55fbc)

Open in CodSpeed

@AdamGS AdamGS changed the title Adamg/cmp experiment Reduce vortex-fastlanes debug symbols by halving unchecked_unpack_cmp monomorphization Jun 19, 2026
@AdamGS AdamGS added the changelog/performance A performance improvement label Jun 19, 2026
AdamGS added 3 commits June 19, 2026 13:16
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
.
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
@AdamGS AdamGS force-pushed the adamg/cmp-experiment branch from c31e5d9 to ff7d356 Compare June 19, 2026 12:16
@AdamGS AdamGS requested a review from joseph-isaacs June 19, 2026 12:20
Comment thread encodings/fastlanes/src/bitpacking/compute/compare_fused.rs
@AdamGS AdamGS force-pushed the adamg/cmp-experiment branch from cb2d2fd to ff7d356 Compare June 19, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/performance A performance improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants