dotnet / dotnet/performance

.NET 10 vs main (Mid-July data) Wasm Mono Performance Regression Tracking issue

Open
#5,282 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
F#
Stars
773
Forks
301
Avg merge
6d 9h
Merged PRs (30d)
15

Description

# [.NET 10 vs main] WASM-Mono performance regression tracking

This issue tracks the actionable `WASM-Mono` results from the reviewed release/10.0 vs main windowed comparison. Draft generated **2026-08-17**. GitHub issue/PR states refreshed from live metadata on **2026-08-17**. User decisions and AI-attributed notes applied on **2026-08-17**.

Use the checkboxes in place: leave an item unchecked while investigation, filing, ownership, or verification remains; check it when that work is finished. Feel free to edit or append status directly on the same checklist line as work progresses. There is intentionally no separate Completed section.

Within each section, items are ordered by worst reviewed percentage (largest first). Regression count is used only to break ties.

### Inclusion rules

Included: `needs-investigation`, confirmed runtime regressions, unmarked runtime/autofiling/missed items, and missed regressions marked `truly-missed`.

Excluded: `fixed`, `acceptable`, `not-applicable`, `noise`, `improved`, `baseline-outlier`, `covered`, and `linked`.

### Actionable summary

| Area | Items |
| --- | ---: |
| Needs investigation (runtime + ungrouped missed) | 4 |
| Active tracked runtime regressions | 0 |
| Autofiling issues needing transfer/resolution | 13 |
| Missed regression date groups needing filing | 7 |
| **Total checkboxes** | **24** |

## Needs investigation

Show 4 items

Items requiring a second look before deciding whether to file, transfer, accept, or close them.

- [x] [dotnet/runtime#131159](https://github.com/dotnet/runtime/issues/131159) — **acceptable**; `closed-completed`; 81 `WASM-Mono` reviewed regressions; worst +105.4%; regression date 2026-07-14. **Review note:** Seems related to the same change, both CoreCLR and Wasm-Mono seem regressed. AI Note (user-approved): Closed as an accepted trade-off from scoping vectorization away from browser/WASM. ([evidence](https://github.com/dotnet/runtime/issues/131159#issuecomment-5310190004)) [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Text.Json.Serialization.Tests.WriteJson%28LargeStructWithProperties%29.SerializeToWriter%28Mode%3A%20Reflection%29.html).

- [ ] [dotnet/runtime#129860](https://github.com/dotnet/runtime/issues/129860) — **needs-investigation**; `open`; 55 `WASM-Mono` reviewed regressions; worst +62.1%; regression date 2026-06-24. **Review note:** Need to double check it stays, but it seems fixed. (as stated in https://github.com/dotnet/runtime/issues/129860#issuecomment-5028570718) [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop%28IsDataCompact%3A%20False%2C%20TestCase%3A%20Json40KB%29.html).

- [ ] [dotnet/runtime#126361](https://github.com/dotnet/runtime/issues/126361) — **needs-investigation**; `closed-not-planned`; 8 `WASM-Mono` reviewed regressions; worst +53.7%; regression date 2026-03-27. **Review note:** Marked acceptable as the impacts on CoreCLR were small. Still needs a Wasm-Mono-AOT look over. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Numerics.Tests.Perf_BigInteger.ToByteArray%28numberString%3A%20-2147483648%29.html).

- [ ] [dotnet/runtime#125514](https://github.com/dotnet/runtime/issues/125514) — **needs-investigation**; `PR-merged`; 8 `WASM-Mono` reviewed regressions; worst +31.7%; regression date 2026-03-16. **Review note:** This is linked to a PR instead of an issue (need to investigate how this happened). Still seems to be regressed and doesn't seem to have recent work. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8%28arguments%3A%20Url%2C%26lorem%20ipsum=dolor%20sit%20amet%2C16%29.html).

## Active tracked regressions

_No items selected by the current inclusion rules._

## Autofiling issues needing transfer or resolution

Show 13 items

Uncorrelated autofiling issues that are unmarked or marked `needs-investigation`.

- [ ] [dotnet/perf-autofiling-issues#76371](https://github.com/dotnet/perf-autofiling-issues/issues/76371) — **needs-investigation**; `open`; 20 `WASM-Mono` reviewed regressions; worst +730.1%; regression date 2026-07-10. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Numerics.Tests.Perf_Matrix4x4.InvertBenchmark.html).

- [ ] [dotnet/perf-autofiling-issues#72117](https://github.com/dotnet/perf-autofiling-issues/issues/72117) — **needs-investigation**; `open`; 1 `WASM-Mono` reviewed regressions; worst +290.6%; regression date 2026-04-27. **Review note:** Issue is slightly before the actual regression, but the regression seems rule. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/ArrayDeAbstraction.sum_static_array_via_local.html).

- [ ] [dotnet/perf-autofiling-issues#72789](https://github.com/dotnet/perf-autofiling-issues/issues/72789) — **needs-investigation**; `open`; 2 `WASM-Mono` reviewed regressions; worst +235.5%; regression date 2026-05-07. **Review note:** System.Collections.Tests.Perf_BitArray.BitArrayBoolArrayCtor(Size: 512) did regress here and is still regressed. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Collections.Tests.Perf_BitArray.BitArrayBoolArrayCtor%28Size%3A%20512%29.html).

- [ ] [dotnet/perf-autofiling-issues#61045](https://github.com/dotnet/perf-autofiling-issues/issues/61045) — **needs-investigation**; `closed-completed`; 14 `WASM-Mono` reviewed regressions; worst +134.1%; regression date 2025-08-17. **Review note:** Marked as chrome update but still seems to be real for some (MathBenchmarks?), maybe worth investigation. (Such as System.MathBenchmarks.Single.Log10P1) [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.MathBenchmarks.Single.Log10P1.html).

- [ ] [dotnet/perf-autofiling-issues#61311](https://github.com/dotnet/perf-autofiling-issues/issues/61311) — **needs-investigation**; `closed-completed`; 11 `WASM-Mono` reviewed regressions; worst +134.1%; regression date 2025-08-17. **Review note:** Marked as chrome update but still seems to be real for some (MathBenchmarks?), maybe worth investigation. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.MathBenchmarks.Single.Log10P1.html).

- [ ] [dotnet/perf-autofiling-issues#73156](https://github.com/dotnet/perf-autofiling-issues/issues/73156) — **needs-investigation**; `open`; 4 `WASM-Mono` reviewed regressions; worst +134.1%; regression date 2026-05-14. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.MathBenchmarks.Single.Log10P1.html).

- [ ] [dotnet/perf-autofiling-issues#64542](https://github.com/dotnet/perf-autofiling-issues/issues/64542) — **needs-investigation**; `open`; 17 `WASM-Mono` reviewed regressions; worst +75.7%; regression date 2025-10-27. **Review note:** Most just should be double checked as this is still open. There is a mix of nearly fully un-regressed tests and improved tests. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery%28input%3A%20%22http%3A//host/%22%29.html).

- [ ] [dotnet/perf-autofiling-issues#72937](https://github.com/dotnet/perf-autofiling-issues/issues/72937) — **needs-investigation**; `open`; 2 `WASM-Mono` reviewed regressions; worst +72.0%; regression date 2026-05-12. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives%28Int32%29.IndexOfMax%28BufferLength%3A%20128%29.html).

- [ ] [dotnet/perf-autofiling-issues#75292](https://github.com/dotnet/perf-autofiling-issues/issues/75292) — **needs-investigation**; `open`; 9 `WASM-Mono` reviewed regressions; worst +70.3%; regression date 2026-06-25. **Review note:** Likely due to https://github.com/dotnet/runtime/pull/129299 but no obvious regression investigation. AI Note: Attributed to toolchain-upgrade PR #129299; no fix, revert, or acceptance recorded. ([evidence](https://github.com/dotnet/perf-autofiling-issues/issues/75292#issuecomment-5122991783)) [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.MathBenchmarks.Single.Asinh.html).

- [ ] [dotnet/perf-autofiling-issues#76374](https://github.com/dotnet/perf-autofiling-issues/issues/76374) — **needs-investigation**; `open`; 1 `WASM-Mono` reviewed regressions; worst +65.2%; regression date 2026-07-13. **Review note:** AI Note: High-confidence attribution to Int128.CopySign PR #130563; no fix or follow-up yet. ([evidence](https://github.com/dotnet/perf-autofiling-issues/issues/76374#issuecomment-4992540414)) [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Tests.Perf_Int128.CopySign%28value%3A%201%2C%20sign%3A%20-1%29.html).

- [ ] [dotnet/perf-autofiling-issues#76373](https://github.com/dotnet/perf-autofiling-issues/issues/76373) — **needs-investigation**; `open`; 3 `WASM-Mono` reviewed regressions; worst +57.8%; regression date 2026-07-13. **Review note:** At least one of the tests is well regressed. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Buffers.Text.Tests.Utf8ParserTests.TryParseDecimal%28value%3A%20123456.789%29.html).

- [ ] [dotnet/perf-autofiling-issues#71475](https://github.com/dotnet/perf-autofiling-issues/issues/71475) — **needs-investigation**; `open`; 4 `WASM-Mono` reviewed regressions; worst +42.0%; regression date 2026-04-14. **Review note:** Not related to this date but one shortly after, seems uninvestigated. [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.IO.Hashing.Tests.Crc64_AppendPerf.Append%28BufferSize%3A%2016%29.html).

- [ ] [dotnet/perf-autofiling-issues#70472](https://github.com/dotnet/perf-autofiling-issues/issues/70472) — **needs-investigation**; `open`; 9 `WASM-Mono` reviewed regressions; worst +31.7%; regression date 2026-03-16. **Review note:** Seems to have been missed (or original was already transferred if this is a dup). [Representative chart](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8%28arguments%3A%20Url%2C%26lorem%20ipsum=dolor%20sit%20amet%2C16%29.html).

## Missed regression groups needing filing

Show 7 items

Dated groups containing at least one `needs-investigation` or `truly-missed` regression. The checkbox represents the group as one candidate public tracking issue.

- [ ] **Regression group 2026-06-25** — 1 actionable of 1 related regressions; worst +76.4%; queues `Ubuntu-x64-Viper`. **Review notes:** Also baseline-outlier
- Potential existing issues within ±7 days: [dotnet/perf-autofiling-issues#75291](https://github.com/dotnet/perf-autofiling-issues/issues/75291), [dotnet/perf-autofiling-issues#75487](https://github.com/dotnet/perf-autofiling-issues/issues/75487), [dotnet/perf-autofiling-issues#75779](https://github.com/dotnet/perf-autofiling-issues/issues/75779), [dotnet/perf-autofiling-issues#75938](https://github.com/dotnet/perf-autofiling-issues/issues/75938)
- [`System.Linq.Tests.Perf_ImmutableArrayExtensions.SequenceEqual(input: ICollection)`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Linq.Tests.Perf_ImmutableArrayExtensions.SequenceEqual%28input%3A%20ICollection%29.html) — `Ubuntu-x64-Viper`; +76.4%; 7,542 → 13,306; mark **needs-investigation**; note: Also baseline-outlier

- [ ] **Regression group 2026-02-25** — 1 actionable of 1 related regressions; worst +76.4%; queues `Ubuntu-x64-Viper`. **Review notes:** Also baseline-outlier
- [`System.Linq.Tests.Perf_ImmutableArrayExtensions.SequenceEqual(input: ICollection)`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Linq.Tests.Perf_ImmutableArrayExtensions.SequenceEqual%28input%3A%20ICollection%29.html) — `Ubuntu-x64-Viper`; +76.4%; 7,542 → 13,306; mark **needs-investigation**; note: Also baseline-outlier

- [ ] **Regression group 2025-12-13** — 4 actionable of 4 related regressions; worst +5.8%; queues `Ubuntu-x64-Viper`. **Review notes:** 09/15/25, 11/03/25, 12/13/25 | 12/13/25
- [`PerfLabTests.CastingPerf.CheckObjIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckObjIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,735 → 698,296; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25
- [`PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,727 → 698,194; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25
- [`System.Numerics.Tests.Perf_VectorConvert.Convert_float_int`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Numerics.Tests.Perf_VectorConvert.Convert_float_int.html) — `Ubuntu-x64-Viper`; +5.2%; 2,778 → 2,924; mark **needs-investigation**; note: 12/13/25
- [`System.Tests.Perf_Array.ArrayCopy3D`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/System.Tests.Perf_Array.ArrayCopy3D.html) — `Ubuntu-x64-Viper`; +5.2%; 2,147 → 2,258; mark **needs-investigation**; note: 12/13/25

- [ ] **Regression group 2025-11-03** — 2 actionable of 2 related regressions; worst +5.8%; queues `Ubuntu-x64-Viper`. **Review notes:** 09/15/25, 11/03/25, 12/13/25
- [`PerfLabTests.CastingPerf.CheckObjIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckObjIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,735 → 698,296; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25
- [`PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,727 → 698,194; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25

- [ ] **Regression group 2025-09-15** — 2 actionable of 2 related regressions; worst +5.8%; queues `Ubuntu-x64-Viper`. **Review notes:** 09/15/25, 11/03/25, 12/13/25
- Potential existing issues within ±7 days: [dotnet/perf-autofiling-issues#62119](https://github.com/dotnet/perf-autofiling-issues/issues/62119), [dotnet/perf-autofiling-issues#62302](https://github.com/dotnet/perf-autofiling-issues/issues/62302), [dotnet/perf-autofiling-issues#62570](https://github.com/dotnet/perf-autofiling-issues/issues/62570), [dotnet/perf-autofiling-issues#62677](https://github.com/dotnet/perf-autofiling-issues/issues/62677)
- [`PerfLabTests.CastingPerf.CheckObjIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckObjIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,735 → 698,296; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25
- [`PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes.html) — `Ubuntu-x64-Viper`; +5.8%; 659,727 → 698,194; mark **needs-investigation**; note: 09/15/25, 11/03/25, 12/13/25

- [ ] **Regression group 2026-03-02** — 1 actionable of 1 related regressions; worst +5.4%; queues `Ubuntu-x64-Viper`.
- [`Loops.StrengthReduction.SumLongsArrayStrengthReduced`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/Loops.StrengthReduction.SumLongsArrayStrengthReduced.html) — `Ubuntu-x64-Viper`; +5.4%; 17,958 → 18,929; mark **truly-missed**

- [ ] **Regression group 2026-01-22** — 1 actionable of 1 related regressions; worst +5.4%; queues `Ubuntu-x64-Viper`.
- [`Loops.StrengthReduction.SumLongsArrayStrengthReduced`](https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu%2022.04_CompilationMode=wasm_RunKind=micro/ViperUbuntu/Loops.StrengthReduction.SumLongsArrayStrengthReduced.html) — `Ubuntu-x64-Viper`; +5.4%; 17,958 → 18,929; mark **truly-missed**

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the unchecked checklist items in this issue, reviewing each linked representative WASM-Mono performance chart and its review note. Compare the affected regression groups and determine whether each needs investigation, filing, transfer, acceptance, or verification; done means the relevant checklist items have a recorded resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.