Uh oh!
There was an error while loading. Please reload this page.
Add CoreCLR WASM R2R performance lane - #5297
Open
lewing wants to merge 1 commit into
Open
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4f286edf-0a3c-43dc-92fe-26a0a57d5360
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
It changes CI/Helix orchestration and MSBuild/runtime-pack resolution behavior where correctness is environment-dependent and should be validated by a human with end-to-end runs.
Pull request overview
Adds a dedicated CoreCLR browser-WASM ReadyToRun (R2R) microbenchmark lane (V8) and wires the R2R selection through the performance repo’s Helix/job plumbing and MSBuild configuration, including validation to fail fast when required settings aren’t applied.
Changes:
- Adds CoreCLR-vs-Mono runtime-pack override logic for WASM builds and validates the expected CoreCLR runtime pack for R2R runs.
- Introduces
--wasm-ready-to-runend-to-end (CLI arg → env var → MSBuild properties → Helix forwarding) and emits a distinctR2RType=r2rrun dimension. - Adds a non-release-branch pipeline lane for CoreCLR WASM R2R microbenchmarks on V8 plus focused pytest coverage.
File summaries
| File | Description |
|---|---|
| src/scenarios/build-common/WasmOverridePacks.targets | Chooses CoreCLR vs Mono WASM runtime-pack IDs based on UseMonoRuntime. |
| src/benchmarks/micro/MicroBenchmarks.Wasm.targets | Enables/validates CoreCLR WASM R2R publish properties and validates runtime-pack selection. |
| scripts/tests/test_wasm_coreclr_r2r.py | Adds pytest coverage for argument validation, env propagation, Helix forwarding, and result dimensions. |
| scripts/run_performance_job.py | Forwards --wasm-ready-to-run to Helix work items and adds R2RType=r2r dimension. |
| scripts/micro_benchmarks.py | Adds --wasm-ready-to-run and propagates it via PERFLAB_WASM_READY_TO_RUN. |
| eng/pipelines/runtime-wasm-perf-jobs.yml | Adds a CoreCLR WASM R2R microbenchmark lane (non-release branches), V8 on linux_x64. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
lewing
commented
Sep 2, 2026
MemberAuthor
dotnet/runtime#133040 is the runtime side |
lewing
marked this pull request as ready for review
September 2, 2026 15:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
R2RType=r2rresult dimensionDependency
Depends on dotnet/runtime#133040, which stages the matching host Crossgen2 pack in
BrowserWasmCoreCLR.Validation
Remaining validation
Run
runtime-wasm-perfwith this branch and the runtime artifact together, confirmCreateReadyToRunImagesexecutes, and verify uploaded results are labeledR2RType=r2r.