Skip to content

chore: fix intermittent failure in fused_decode_is_wrapping_add - #10544

Merged
robert3005 merged 1 commit into
vortex-data:developfrom
mightsleep:chore/fused-decode-test
Oct 16, 2026
Merged

robert3005 merged 1 commit into
vortex-data:developfrom
mightsleep:chore/fused-decode-test

Conversation

@mightsleep

Copy link
Copy Markdown
Contributor

Summary

fused_decode_is_wrapping_add draws each block's width from 0..=native, so every block can come out at the native width (a single u8 block draws 8 about one time in nine). Since #10203, encode_blocked rejects that ("Cannot pack: all blocks use the native bit width"). CI derandomizes hegel and its fixed seed happens to pass, but my local runs with a random seed fail in ~ half of the runs (7 of 20 here), and once the failure is in .hegel/ it replays on every run.

Changes

When every drawn width is native, the first block drops to native - 1; the rest of the draw is unchanged.

Checked with cargo test -p vortex-fastlanes --lib -- for_:: (3 runs, 107/107).

Signed-off-by: mightsleep <acannix@proton.me>
@robert3005 robert3005 added the changelog/fix A bug fix label Oct 16, 2026

@robert3005 robert3005 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks, I had it on one of the branches but good to merge it separately

@robert3005
robert3005 enabled auto-merge (squash) October 16, 2026 13:13
@codspeed

codspeed Bot commented Oct 16, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 34.3%

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

⚠️ 2 benchmarks measured no execution time

Nothing ran under measurement, usually because the compiler removed the code under test. These results are not comparable, so they count as unchanged.

Preventing compiler optimizations

⚠️ 18 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 40 benchmarks have no flame graph

The flamegraph could not be generated because we failed to resolve the symbols in the profiling trace. This happens when we fail to harvest information about language frames.

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

⚡ 2 improved benchmarks
✅ 2245 untouched benchmarks
⏩ 12 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
⚡ ⚠️ Simulation density_sweep_dense_runs[0.001] 46.9 µs 29.3 µs +59.95%
⚡ WallTime threshold_avx2[80] 3 µs 2.6 µs +12.76%

Tip

Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.


Comparing mightsleep:chore/fused-decode-test (c07b79a) with develop (c48fa1b)2

Open in CodSpeed

Footnotes

  1. 12 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 develop (c677922) during the generation of this report, so c48fa1b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@robert3005
robert3005 merged commit 6eae823 into vortex-data:develop Oct 16, 2026
119 of 120 checks passed
@mightsleep
mightsleep deleted the chore/fused-decode-test branch October 16, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants