Repository navigation
Move main desktop performance measurements to SDK 12 and net12.0 - #11
Closed
LoopedBard3 wants to merge 1 commit into
Closed
LoopedBard3 wants to merge 1 commit into
LoopedBard3 wants to merge 1 commit into
Conversation
Keep MAUI/mobile on net11 with SDK12 and preserve older channel runner versions. Add net12 framework, package, tooling and pipeline support with focused regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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 free
to 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
Move desktop
mainmeasurements to SDK 12 andnet12.0, rather than building net11 benchmarks with an SDK-only installation that contains only the .NET 12 runtime.net11.0with SDK 12 until their dependencies support net12. Separate framework selection from SDK acquisition usingci_setup.py --framework, retaining MAUI/macios dependency lookups on their existingnet11.0branches instead of nonexistent net12 branches.global.net11.jsonalongside the existing older SDK configurations.0.16.0-nightly.20261014.649for net12. The previous0.16.0-nightly.20260801.595restores/builds net12 but crashes before execution withGetRuntimeVersion not implemented for NotRecognized. Scope the new runner to net12 because its runtime/toolchain API changes would otherwise affect older Mono/WASM measurements.corewasm12.0for net12 CoreCLR WASM. Reject unsupported net12 Mono WASM explicitly instead of silently selecting a different measurement target.This change is independent of the MAUI ACES pool migration and contains no pool changes. Based on freshly fetched
dotnet/performancemain atbee760ce03eda6021a1466486e067c7c7e76a4ef.Validation
Executed on Windows x64 with this checkout's private
tools\dotnet\x64first onPATH;PYTHONPATHwas set to this checkout'sscriptsdirectory for pytest.$privateSdkbelow denotes the absolute path returned by(Resolve-Path tools\dotnet\x64).Path.python -m pytest scripts\tests\test_channel_map.py scripts\tests\test_dotnet.py scripts\tests\test_run_performance_job.py scripts\tests\test_blazor_workload.py scripts\tests\test_wasm_coreclr_r2r.py -q --basetemp=artifacts\net12-pytest-finaldotnet test src\tests\harness\BenchmarkDotNet.Extensions.Tests\BenchmarkDotNet.Extensions.Tests.csproj --configuration Release --framework net12.0 -p:PERFLAB_TARGET_FRAMEWORKS=net12.0 --nologo --verbosity minimaldotnet test src\tools\ResultsComparer.Tests\ResultsComparer.Tests.csproj --configuration Release --framework net12.0 --nologo --verbosity minimaldotnet test src\tools\Reporting\Reporting.Tests\Reporting.Tests.csproj --configuration Release --framework net12.0 --nologo --verbosity minimalpython scripts\ci_setup.py --channel main --architecture x64 --not-in-lab12.0.100-alpha.1.26527.106and runtime12.0.0-alpha.1.26527.106, selectednet12.0python scripts\benchmarks_ci.py --frameworks net12.0 --dotnet-path $privateSdk --filter '*Perf_Guid.NewGuid*' --bdn-arguments '--job Dry'12.0.0-alpha.1.26527.106, SDK12.0.100-alpha.1.26527.106, and BDN0.16.0-nightly.20261014.649. The repository-configured job was used, not a literal Dry job.python scripts\benchmarks_ci.py --frameworks net11.0 --dotnet-path $privateSdk --build-only0.16.0-nightly.20260801.595python scripts\ci_setup.py --channel main --framework net11.0 --architecture x64 --not-in-lab --install-dir $privateSdk --output-file tools\maui-net11-setupDOTNET_VERSION=12.0.100-alpha.1.26527.106,PERFLAB_TARGET_FRAMEWORKS=net11.0, andPERFLAB_BRANCH=12.0git diff --checkThe private installation contained only .NET 12 runtimes during the successful net12 execution, so the benchmark was not a net11 benchmark implicitly rolled forward. The smoke run is execution evidence, not a performance comparison.
Remaining validation limits