Skip to content

Benchmark unsigned 64-bit multiplication - #9211

Merged
connortsui20 merged 1 commit into
developfrom
ct/mul-u64-benchmark
Aug 5, 2026
Merged

Benchmark unsigned 64-bit multiplication#9211
connortsui20 merged 1 commit into
developfrom
ct/mul-u64-benchmark

Conversation

@connortsui20

@connortsui20 connortsui20 commented Aug 5, 2026

Copy link
Copy Markdown
Member

Adds a mul_u64_nonnull case to binary_ops. The suite covers Mul at every signed width and at u8, u16 and u32, but not at u64, which takes a different overflow check because it has no wider native type to widen into.

This lands separately so that CodSpeed records a baseline on develop before #9210 changes that check. Measured on that PR, the width gains 1.8x, which no existing benchmark would have caught.

`binary_ops` covers `Mul` at every signed width and at `u8`, `u16` and
`u32`, but not at `u64`. That width takes a different overflow check from
the narrower unsigned ones, which have a wider native type to widen into,
so it needs its own baseline before either is changed.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
connortsui20 enabled auto-merge (squash) August 5, 2026 18:36
@codspeed-hq

codspeed-hq Bot commented Aug 5, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 12.87%

⚡ 1 improved benchmark
✅ 1893 untouched benchmarks
🆕 1 new benchmark
⏩ 43 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation decompress[u64, (1000, 16)] 73.7 µs 65.3 µs +12.87%
🆕 Simulation mul_u64_nonnull N/A 1.1 ms N/A

Tip

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


Comparing ct/mul-u64-benchmark (7ae5392) with develop (4030e01)

Open in CodSpeed

Footnotes

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

@connortsui20
connortsui20 merged commit 1ae54b5 into develop Aug 5, 2026
94 of 95 checks passed
@connortsui20
connortsui20 deleted the ct/mul-u64-benchmark branch August 5, 2026 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants