From df6fa18a8e53dd9745461ba3372f08d276bc3936 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Wed, 12 Jul 2023 15:14:43 -0700 Subject: [PATCH 1/5] Explicitly set DOTNET_ROOT. --- eng/performance/scenarios.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/performance/scenarios.yml b/eng/performance/scenarios.yml index cc7dedd3ff5..12048300501 100644 --- a/eng/performance/scenarios.yml +++ b/eng/performance/scenarios.yml @@ -128,6 +128,10 @@ jobs: displayName: Get dotnetVersion to use - script: $(Python) scripts/ci_setup.py --channel $(_Channel) --dotnet-versions $(DotnetVersion) --architecture ${{parameters.architecture}} --perf-hash $(Build.SourceVersion) --queue ${{parameters.queue}} --build-number $(Build.BuildNumber) --build-configs $(_Configs) --output-file $(CorrelationStaging)machine-setup$(ScriptExtension) --install-dir $(CorrelationStaging)dotnet $(runEnvVarsParam) $(AffinityParam) displayName: Run ci_setup.py with dotnetVersionsLinks + - script: | + Write-Host "##vso[task.setvariable variable=DOTNET_ROOT;]$(CorrelationStaging)dotnet" + Write-Host "Set DOTNET_ROOT to $(CorrelationStaging)dotnet" + displayName: Explicitly set DOTNET_ROOT - ${{ if eq(parameters.osName, 'windows') }}: - script: xcopy .\NuGet.config $(CorrelationStaging) && xcopy .\scripts $(CorrelationStaging)scripts\/e && xcopy .\src\scenarios\shared $(CorrelationStaging)shared\/e && xcopy .\src\scenarios\staticdeps $(CorrelationStaging)staticdeps\/e displayName: Copy python libraries and NuGet.config From 415e0822f500f7ea96ed4dbc460d9c2fc8694545 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Wed, 12 Jul 2023 15:16:38 -0700 Subject: [PATCH 2/5] Setup testing. --- azure-pipelines.yml | 460 ++++++++++++++++++++++---------------------- 1 file changed, 230 insertions(+), 230 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8878d1a3499..d2d7b615bae 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -65,7 +65,7 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - - ubuntu-x64 + # - ubuntu-x64 isPublic: true jobParameters: kind: scenarios @@ -93,7 +93,7 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - - ubuntu-x64 + # - ubuntu-x64 isPublic: true jobParameters: kind: blazor_scenarios @@ -108,7 +108,7 @@ jobs: buildMachines: - win-x64 - win-x86 - - ubuntu-x64 + # - ubuntu-x64 isPublic: true jobParameters: kind: sdk_scenarios @@ -116,153 +116,153 @@ jobs: channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks - main - # micro benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - win-x86 - isPublic: true - jobParameters: - kind: micro - csproj: src\benchmarks\micro\MicroBenchmarks.csproj - runCategories: 'runtime libraries' - channels: - - main - - # Ubuntux64 Default and NativeAOT micro benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - ubuntu-x64 - isPublic: true - jobParameters: - kind: micro - csproj: src\benchmarks\micro\MicroBenchmarks.csproj - runCategories: 'runtime libraries' - channels: - - main - - nativeaot8.0 - - # net462 micro benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-rs5-x64 - isPublic: true - jobParameters: - kind: micro_net462 - csproj: src\benchmarks\micro\MicroBenchmarks.csproj - runCategories: 'runtime libraries' - channels: - - net462 - - # ML.NET benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: mlnet - csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj - runCategories: 'mldotnet' - channels: - - main - - # F# benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: fsharp - csproj: src\benchmarks\real-world\FSharp\FSharp.fsproj - runCategories: 'fsharp' - channels: - - main - - # bepuphysics benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: bepuphysics - csproj: src\benchmarks\real-world\bepuphysics2\DemoBenchmarks.csproj - runCategories: 'BepuPhysics' - channels: - - main - - # ImageSharp benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: imagesharp - csproj: src\benchmarks\real-world\ImageSharp\ImageSharp.Benchmarks.csproj - runCategories: 'ImageSharp' - channels: - - main - - # Roslyn benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: roslyn - csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj - runCategories: 'roslyn' - channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only - - main - - # ILLink benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/benchmark_jobs.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: illink - csproj: src\benchmarks\real-world\ILLink\ILLinkBenchmarks.csproj - runCategories: 'illink' - channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only - - main - - # NativeAOT scenario benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/scenarios.yml - buildMachines: - - win-x64 - - ubuntu-x64 - isPublic: true - jobParameters: - kind: nativeaot_scenarios - projectFile: nativeaot_scenarios.proj - channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks - - main + # # micro benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - win-x86 + # isPublic: true + # jobParameters: + # kind: micro + # csproj: src\benchmarks\micro\MicroBenchmarks.csproj + # runCategories: 'runtime libraries' + # channels: + # - main + + # # Ubuntux64 Default and NativeAOT micro benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: micro + # csproj: src\benchmarks\micro\MicroBenchmarks.csproj + # runCategories: 'runtime libraries' + # channels: + # - main + # - nativeaot8.0 + + # # net462 micro benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-rs5-x64 + # isPublic: true + # jobParameters: + # kind: micro_net462 + # csproj: src\benchmarks\micro\MicroBenchmarks.csproj + # runCategories: 'runtime libraries' + # channels: + # - net462 + + # # ML.NET benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: mlnet + # csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj + # runCategories: 'mldotnet' + # channels: + # - main + + # # F# benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: fsharp + # csproj: src\benchmarks\real-world\FSharp\FSharp.fsproj + # runCategories: 'fsharp' + # channels: + # - main + + # # bepuphysics benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: bepuphysics + # csproj: src\benchmarks\real-world\bepuphysics2\DemoBenchmarks.csproj + # runCategories: 'BepuPhysics' + # channels: + # - main + + # # ImageSharp benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: imagesharp + # csproj: src\benchmarks\real-world\ImageSharp\ImageSharp.Benchmarks.csproj + # runCategories: 'ImageSharp' + # channels: + # - main + + # # Roslyn benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: roslyn + # csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj + # runCategories: 'roslyn' + # channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only + # - main + + # # ILLink benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/benchmark_jobs.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: illink + # csproj: src\benchmarks\real-world\ILLink\ILLinkBenchmarks.csproj + # runCategories: 'illink' + # channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only + # - main + + # # NativeAOT scenario benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # isPublic: true + # jobParameters: + # kind: nativeaot_scenarios + # projectFile: nativeaot_scenarios.proj + # channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks + # - main ########################################### # Private Jobs @@ -276,9 +276,9 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - - ubuntu-x64 + #- ubuntu-x64 - win-arm64 - - ubuntu-arm64-ampere + #- ubuntu-arm64-ampere isPublic: false jobParameters: kind: scenarios @@ -286,84 +286,84 @@ jobs: channels: - main - # Affinitized Scenario benchmarks (Initially just PDN) - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/scenarios.yml - buildMachines: - - win-x64 - - win-arm64 - - win-arm64-ampere - isPublic: false - jobParameters: - kind: scenarios - projectFile: scenarios_affinitized.proj - channels: - - main - additionalJobIdentifier: 'Affinity_85' - affinity: '85' # (01010101) Enables alternating process threads to take hyperthreading into account - runEnvVars: - - DOTNET_GCgen0size=410000 # ~4MB - - DOTNET_GCHeapCount=4 - - DOTNET_GCTotalPhysicalMemory=400000000 # 16GB - - # Maui Android scenario benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/scenarios.yml - buildMachines: - - win-x64-android-arm64-pixel - - win-x64-android-arm64-galaxy - isPublic: false - jobParameters: - kind: maui_scenarios_android - projectFile: maui_scenarios_android.proj - dotnetVersionsLinks: - main: https://aka.ms/dotnet/sdk/maui/net8.0.json - - # Maui iOS scenario benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/scenarios.yml - buildMachines: - - osx-x64-ios-arm64 - isPublic: false - jobParameters: - kind: maui_scenarios_ios - projectFile: maui_scenarios_ios.proj - dotnetVersionsLinks: - main: https://aka.ms/dotnet/sdk/maui/net8.0.json - - ## Maui scenario benchmarks - #- template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # - win-arm64 - # - ubuntu-arm64-ampere - # isPublic: false - # jobParameters: - # kind: maui_scenarios - # projectFile: maui_scenarios.proj - # channels: - # - main - - # NativeAOT scenario benchmarks - - template: /eng/performance/build_machine_matrix.yml - parameters: - jobTemplate: /eng/performance/scenarios.yml - buildMachines: - - win-x64 - - ubuntu-x64 - - win-arm64 - isPublic: false - jobParameters: - kind: nativeaot_scenarios - projectFile: nativeaot_scenarios.proj - channels: - - main + # # Affinitized Scenario benchmarks (Initially just PDN) + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - win-x64 + # - win-arm64 + # - win-arm64-ampere + # isPublic: false + # jobParameters: + # kind: scenarios + # projectFile: scenarios_affinitized.proj + # channels: + # - main + # additionalJobIdentifier: 'Affinity_85' + # affinity: '85' # (01010101) Enables alternating process threads to take hyperthreading into account + # runEnvVars: + # - DOTNET_GCgen0size=410000 # ~4MB + # - DOTNET_GCHeapCount=4 + # - DOTNET_GCTotalPhysicalMemory=400000000 # 16GB + + # # Maui Android scenario benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - win-x64-android-arm64-pixel + # - win-x64-android-arm64-galaxy + # isPublic: false + # jobParameters: + # kind: maui_scenarios_android + # projectFile: maui_scenarios_android.proj + # dotnetVersionsLinks: + # main: https://aka.ms/dotnet/sdk/maui/net8.0.json + + # # Maui iOS scenario benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - osx-x64-ios-arm64 + # isPublic: false + # jobParameters: + # kind: maui_scenarios_ios + # projectFile: maui_scenarios_ios.proj + # dotnetVersionsLinks: + # main: https://aka.ms/dotnet/sdk/maui/net8.0.json + + # ## Maui scenario benchmarks + # #- template: /eng/performance/build_machine_matrix.yml + # # parameters: + # # jobTemplate: /eng/performance/scenarios.yml + # # buildMachines: + # # - win-x64 + # # - ubuntu-x64 + # # - win-arm64 + # # - ubuntu-arm64-ampere + # # isPublic: false + # # jobParameters: + # # kind: maui_scenarios + # # projectFile: maui_scenarios.proj + # # channels: + # # - main + + # # NativeAOT scenario benchmarks + # - template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # - win-arm64 + # isPublic: false + # jobParameters: + # kind: nativeaot_scenarios + # projectFile: nativeaot_scenarios.proj + # channels: + # - main ################################################ # Scheduled Private jobs From a9e5610c94c3a55cd10cafd28727c01d5eaee6d4 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Wed, 12 Jul 2023 15:25:34 -0700 Subject: [PATCH 3/5] Move new script to correct location. --- eng/performance/scenarios.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/performance/scenarios.yml b/eng/performance/scenarios.yml index 12048300501..b92a7bcaff5 100644 --- a/eng/performance/scenarios.yml +++ b/eng/performance/scenarios.yml @@ -128,10 +128,10 @@ jobs: displayName: Get dotnetVersion to use - script: $(Python) scripts/ci_setup.py --channel $(_Channel) --dotnet-versions $(DotnetVersion) --architecture ${{parameters.architecture}} --perf-hash $(Build.SourceVersion) --queue ${{parameters.queue}} --build-number $(Build.BuildNumber) --build-configs $(_Configs) --output-file $(CorrelationStaging)machine-setup$(ScriptExtension) --install-dir $(CorrelationStaging)dotnet $(runEnvVarsParam) $(AffinityParam) displayName: Run ci_setup.py with dotnetVersionsLinks - - script: | - Write-Host "##vso[task.setvariable variable=DOTNET_ROOT;]$(CorrelationStaging)dotnet" - Write-Host "Set DOTNET_ROOT to $(CorrelationStaging)dotnet" - displayName: Explicitly set DOTNET_ROOT + - script: | + Write-Host "##vso[task.setvariable variable=DOTNET_ROOT;]$(CorrelationStaging)dotnet" + Write-Host "Set DOTNET_ROOT to $(CorrelationStaging)dotnet" + displayName: Explicitly set DOTNET_ROOT - ${{ if eq(parameters.osName, 'windows') }}: - script: xcopy .\NuGet.config $(CorrelationStaging) && xcopy .\scripts $(CorrelationStaging)scripts\/e && xcopy .\src\scenarios\shared $(CorrelationStaging)shared\/e && xcopy .\src\scenarios\staticdeps $(CorrelationStaging)staticdeps\/e displayName: Copy python libraries and NuGet.config From b02e922fcf5047419bf92802a06261f4db9c1518 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Wed, 12 Jul 2023 15:28:45 -0700 Subject: [PATCH 4/5] Change from script to Powershell to ensure Write-Host on all platforms. --- eng/performance/scenarios.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/performance/scenarios.yml b/eng/performance/scenarios.yml index b92a7bcaff5..a1f1769a1fa 100644 --- a/eng/performance/scenarios.yml +++ b/eng/performance/scenarios.yml @@ -128,7 +128,7 @@ jobs: displayName: Get dotnetVersion to use - script: $(Python) scripts/ci_setup.py --channel $(_Channel) --dotnet-versions $(DotnetVersion) --architecture ${{parameters.architecture}} --perf-hash $(Build.SourceVersion) --queue ${{parameters.queue}} --build-number $(Build.BuildNumber) --build-configs $(_Configs) --output-file $(CorrelationStaging)machine-setup$(ScriptExtension) --install-dir $(CorrelationStaging)dotnet $(runEnvVarsParam) $(AffinityParam) displayName: Run ci_setup.py with dotnetVersionsLinks - - script: | + - powershell: | Write-Host "##vso[task.setvariable variable=DOTNET_ROOT;]$(CorrelationStaging)dotnet" Write-Host "Set DOTNET_ROOT to $(CorrelationStaging)dotnet" displayName: Explicitly set DOTNET_ROOT From 2005c3520291c8cf0c75e34461355ad8ead92ae6 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Wed, 12 Jul 2023 15:31:44 -0700 Subject: [PATCH 5/5] Revert "Setup testing." This reverts commit 415e0822f500f7ea96ed4dbc460d9c2fc8694545. --- azure-pipelines.yml | 460 ++++++++++++++++++++++---------------------- 1 file changed, 230 insertions(+), 230 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d2d7b615bae..8878d1a3499 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -65,7 +65,7 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - # - ubuntu-x64 + - ubuntu-x64 isPublic: true jobParameters: kind: scenarios @@ -93,7 +93,7 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - # - ubuntu-x64 + - ubuntu-x64 isPublic: true jobParameters: kind: blazor_scenarios @@ -108,7 +108,7 @@ jobs: buildMachines: - win-x64 - win-x86 - # - ubuntu-x64 + - ubuntu-x64 isPublic: true jobParameters: kind: sdk_scenarios @@ -116,153 +116,153 @@ jobs: channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks - main - # # micro benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - win-x86 - # isPublic: true - # jobParameters: - # kind: micro - # csproj: src\benchmarks\micro\MicroBenchmarks.csproj - # runCategories: 'runtime libraries' - # channels: - # - main - - # # Ubuntux64 Default and NativeAOT micro benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: micro - # csproj: src\benchmarks\micro\MicroBenchmarks.csproj - # runCategories: 'runtime libraries' - # channels: - # - main - # - nativeaot8.0 - - # # net462 micro benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-rs5-x64 - # isPublic: true - # jobParameters: - # kind: micro_net462 - # csproj: src\benchmarks\micro\MicroBenchmarks.csproj - # runCategories: 'runtime libraries' - # channels: - # - net462 - - # # ML.NET benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: mlnet - # csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj - # runCategories: 'mldotnet' - # channels: - # - main - - # # F# benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: fsharp - # csproj: src\benchmarks\real-world\FSharp\FSharp.fsproj - # runCategories: 'fsharp' - # channels: - # - main - - # # bepuphysics benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: bepuphysics - # csproj: src\benchmarks\real-world\bepuphysics2\DemoBenchmarks.csproj - # runCategories: 'BepuPhysics' - # channels: - # - main - - # # ImageSharp benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: imagesharp - # csproj: src\benchmarks\real-world\ImageSharp\ImageSharp.Benchmarks.csproj - # runCategories: 'ImageSharp' - # channels: - # - main - - # # Roslyn benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: roslyn - # csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj - # runCategories: 'roslyn' - # channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only - # - main - - # # ILLink benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/benchmark_jobs.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: illink - # csproj: src\benchmarks\real-world\ILLink\ILLinkBenchmarks.csproj - # runCategories: 'illink' - # channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only - # - main - - # # NativeAOT scenario benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # isPublic: true - # jobParameters: - # kind: nativeaot_scenarios - # projectFile: nativeaot_scenarios.proj - # channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks - # - main + # micro benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - win-x86 + isPublic: true + jobParameters: + kind: micro + csproj: src\benchmarks\micro\MicroBenchmarks.csproj + runCategories: 'runtime libraries' + channels: + - main + + # Ubuntux64 Default and NativeAOT micro benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - ubuntu-x64 + isPublic: true + jobParameters: + kind: micro + csproj: src\benchmarks\micro\MicroBenchmarks.csproj + runCategories: 'runtime libraries' + channels: + - main + - nativeaot8.0 + + # net462 micro benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-rs5-x64 + isPublic: true + jobParameters: + kind: micro_net462 + csproj: src\benchmarks\micro\MicroBenchmarks.csproj + runCategories: 'runtime libraries' + channels: + - net462 + + # ML.NET benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: mlnet + csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj + runCategories: 'mldotnet' + channels: + - main + + # F# benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: fsharp + csproj: src\benchmarks\real-world\FSharp\FSharp.fsproj + runCategories: 'fsharp' + channels: + - main + + # bepuphysics benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: bepuphysics + csproj: src\benchmarks\real-world\bepuphysics2\DemoBenchmarks.csproj + runCategories: 'BepuPhysics' + channels: + - main + + # ImageSharp benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: imagesharp + csproj: src\benchmarks\real-world\ImageSharp\ImageSharp.Benchmarks.csproj + runCategories: 'ImageSharp' + channels: + - main + + # Roslyn benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: roslyn + csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj + runCategories: 'roslyn' + channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only + - main + + # ILLink benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/benchmark_jobs.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: illink + csproj: src\benchmarks\real-world\ILLink\ILLinkBenchmarks.csproj + runCategories: 'illink' + channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only + - main + + # NativeAOT scenario benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/scenarios.yml + buildMachines: + - win-x64 + - ubuntu-x64 + isPublic: true + jobParameters: + kind: nativeaot_scenarios + projectFile: nativeaot_scenarios.proj + channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks + - main ########################################### # Private Jobs @@ -276,9 +276,9 @@ jobs: jobTemplate: /eng/performance/scenarios.yml buildMachines: - win-x64 - #- ubuntu-x64 + - ubuntu-x64 - win-arm64 - #- ubuntu-arm64-ampere + - ubuntu-arm64-ampere isPublic: false jobParameters: kind: scenarios @@ -286,84 +286,84 @@ jobs: channels: - main - # # Affinitized Scenario benchmarks (Initially just PDN) - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - win-x64 - # - win-arm64 - # - win-arm64-ampere - # isPublic: false - # jobParameters: - # kind: scenarios - # projectFile: scenarios_affinitized.proj - # channels: - # - main - # additionalJobIdentifier: 'Affinity_85' - # affinity: '85' # (01010101) Enables alternating process threads to take hyperthreading into account - # runEnvVars: - # - DOTNET_GCgen0size=410000 # ~4MB - # - DOTNET_GCHeapCount=4 - # - DOTNET_GCTotalPhysicalMemory=400000000 # 16GB - - # # Maui Android scenario benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - win-x64-android-arm64-pixel - # - win-x64-android-arm64-galaxy - # isPublic: false - # jobParameters: - # kind: maui_scenarios_android - # projectFile: maui_scenarios_android.proj - # dotnetVersionsLinks: - # main: https://aka.ms/dotnet/sdk/maui/net8.0.json - - # # Maui iOS scenario benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - osx-x64-ios-arm64 - # isPublic: false - # jobParameters: - # kind: maui_scenarios_ios - # projectFile: maui_scenarios_ios.proj - # dotnetVersionsLinks: - # main: https://aka.ms/dotnet/sdk/maui/net8.0.json - - # ## Maui scenario benchmarks - # #- template: /eng/performance/build_machine_matrix.yml - # # parameters: - # # jobTemplate: /eng/performance/scenarios.yml - # # buildMachines: - # # - win-x64 - # # - ubuntu-x64 - # # - win-arm64 - # # - ubuntu-arm64-ampere - # # isPublic: false - # # jobParameters: - # # kind: maui_scenarios - # # projectFile: maui_scenarios.proj - # # channels: - # # - main - - # # NativeAOT scenario benchmarks - # - template: /eng/performance/build_machine_matrix.yml - # parameters: - # jobTemplate: /eng/performance/scenarios.yml - # buildMachines: - # - win-x64 - # - ubuntu-x64 - # - win-arm64 - # isPublic: false - # jobParameters: - # kind: nativeaot_scenarios - # projectFile: nativeaot_scenarios.proj - # channels: - # - main + # Affinitized Scenario benchmarks (Initially just PDN) + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/scenarios.yml + buildMachines: + - win-x64 + - win-arm64 + - win-arm64-ampere + isPublic: false + jobParameters: + kind: scenarios + projectFile: scenarios_affinitized.proj + channels: + - main + additionalJobIdentifier: 'Affinity_85' + affinity: '85' # (01010101) Enables alternating process threads to take hyperthreading into account + runEnvVars: + - DOTNET_GCgen0size=410000 # ~4MB + - DOTNET_GCHeapCount=4 + - DOTNET_GCTotalPhysicalMemory=400000000 # 16GB + + # Maui Android scenario benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/scenarios.yml + buildMachines: + - win-x64-android-arm64-pixel + - win-x64-android-arm64-galaxy + isPublic: false + jobParameters: + kind: maui_scenarios_android + projectFile: maui_scenarios_android.proj + dotnetVersionsLinks: + main: https://aka.ms/dotnet/sdk/maui/net8.0.json + + # Maui iOS scenario benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/scenarios.yml + buildMachines: + - osx-x64-ios-arm64 + isPublic: false + jobParameters: + kind: maui_scenarios_ios + projectFile: maui_scenarios_ios.proj + dotnetVersionsLinks: + main: https://aka.ms/dotnet/sdk/maui/net8.0.json + + ## Maui scenario benchmarks + #- template: /eng/performance/build_machine_matrix.yml + # parameters: + # jobTemplate: /eng/performance/scenarios.yml + # buildMachines: + # - win-x64 + # - ubuntu-x64 + # - win-arm64 + # - ubuntu-arm64-ampere + # isPublic: false + # jobParameters: + # kind: maui_scenarios + # projectFile: maui_scenarios.proj + # channels: + # - main + + # NativeAOT scenario benchmarks + - template: /eng/performance/build_machine_matrix.yml + parameters: + jobTemplate: /eng/performance/scenarios.yml + buildMachines: + - win-x64 + - ubuntu-x64 + - win-arm64 + isPublic: false + jobParameters: + kind: nativeaot_scenarios + projectFile: nativeaot_scenarios.proj + channels: + - main ################################################ # Scheduled Private jobs