Skip to content

Establish widening cast benchmark baselines - #11052

Closed
connortsui20 wants to merge 1 commit into
developfrom
ct/map-into-widening-benchmarks
Closed

connortsui20 wants to merge 1 commit into
developfrom
ct/map-into-widening-benchmarks

Conversation

@connortsui20

Copy link
Copy Markdown
Member

Tracking Issue: #10701
Based on develop, following #10989. Merge this before #11050 and let the develop benchmark runs finish so the new cases have a recorded baseline.

Summary

The new widening cases need baseline results before the loop optimization can be compared in CI. Add the benchmarks separately, running both named variants through the existing map_into implementation.

Changes

  • Add stable widening benchmark names and sizes around the loop boundary, plus dense and nullable primitive casts.
  • Return the output from the existing widening benchmark so its stores remain observable.
  • Leave the implementation change to the stacked [EXPERIMENT] Keep ARM integer widening loops compact #11050.

API Changes

None.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@codspeed

codspeed Bot commented Oct 30, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

1 warning

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

✅ 2317 untouched benchmarks
🆕 192 new benchmarks
⏩ 1 skipped benchmark1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
🆕 Walltime cast_i32_to_i64_dense_avx2[128] N/A 861 ns N/A
🆕 Walltime cast_i32_to_i64_dense_avx2[129] N/A 685 ns N/A
🆕 Walltime cast_i32_to_i64_dense_avx2[16384] N/A 4.4 µs N/A
🆕 Walltime cast_i32_to_i64_dense_avx2[65] N/A 837 ns N/A
🆕 Walltime cast_i32_to_i64_dense_avx2[8192] N/A 2.5 µs N/A
🆕 Walltime cast_i32_to_i64_nullable_avx2[128] N/A 776 ns N/A
🆕 Walltime cast_i32_to_i64_nullable_avx2[129] N/A 779 ns N/A
🆕 Walltime cast_i32_to_i64_nullable_avx2[16384] N/A 4.5 µs N/A
🆕 Walltime cast_i32_to_i64_nullable_avx2[65] N/A 946 ns N/A
🆕 Walltime cast_i32_to_i64_nullable_avx2[8192] N/A 2.5 µs N/A
🆕 Walltime cast_u16_to_u32_avx2[128] N/A 751 ns N/A
🆕 Walltime cast_u16_to_u32_avx2[129] N/A 753 ns N/A
🆕 Walltime cast_u16_to_u32_avx2[16384] N/A 2.5 µs N/A
🆕 Walltime cast_u16_to_u32_avx2[65] N/A 917 ns N/A
🆕 Walltime cast_u16_to_u32_avx2[8192] N/A 1.6 µs N/A
🆕 Walltime cast_u16_to_u32_dense_avx2[128] N/A 651 ns N/A
🆕 Walltime cast_u16_to_u32_dense_avx2[129] N/A 654 ns N/A
🆕 Walltime cast_u16_to_u32_dense_avx2[16384] N/A 2.4 µs N/A
🆕 Walltime cast_u16_to_u32_dense_avx2[65] N/A 650 ns N/A
🆕 Walltime cast_u16_to_u32_dense_avx2[8192] N/A 1.5 µs N/A
... ... ... ... ... ...

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


Comparing ct/map-into-widening-benchmarks (dbfa820) with develop (fad0b7e)

Open in CodSpeed

Footnotes

  1. 1 benchmark was skipped, so the baseline result was used instead. If it was deleted from the codebase, click here and archive it to remove it from the performance reports. ↩

@connortsui20
connortsui20 deleted the ct/map-into-widening-benchmarks branch October 30, 2026 17:53
@connortsui20
connortsui20 removed this pull request from stack #11053 October 30, 2026 17:56
@connortsui20 connortsui20 mentioned this pull request Nov 2, 2026
20 of 34 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/skip Do not list PR in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant