Skip to content

Commit f7d7e64

Browse files
LoopedBard3Copilot
andauthored
Updated some more perf repo references for net11 (#5070)
* Updated some more perf repo references based on #4610. * Some more net11 updates. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent b4d0f01 commit f7d7e64

File tree

13 files changed

+52
-39
lines changed

13 files changed

+52
-39
lines changed

eng/performance/sdk_scenarios.proj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
<Framework Include="net7.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '6.0'"/>
1313
<Framework Include="net8.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '7.0' and '$(PERFLAB_Framework)' != 'net9.0'"/>
1414
<Framework Include="net9.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '8.0'"/>
15-
<Framework Include="net10.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '9.0'"/>
15+
<Framework Include="net10.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '9.0' and '$(PERFLAB_Framework)' != 'net11.0'"/>
16+
<Framework Include="net11.0" FrameworkName="%(Identity)" Condition="'$(FrameworkVersion)' &gt; '10.0'"/>
1617
</ItemGroup>
1718

1819
<ItemDefinitionGroup>

eng/pipelines/templates/runtime-perf-job.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
parameters:
22
steps: []
33
variables: []
4-
framework: net10.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0)
4+
framework: net11.0 # Specify the appropriate framework when running release branches (ie net6.0 for release/6.0)
55
buildConfig: ''
66
archType: ''
77
osGroup: ''

global.net10.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"sdk": {
3+
"version": "10.0.100",
4+
"allowPrerelease": true,
5+
"rollForward": "latestMinor"
6+
},
7+
"tools": {
8+
"dotnet": "10.0.100"
9+
},
10+
"msbuild-sdks": {
11+
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25604.105",
12+
"Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25604.105"
13+
},
14+
"native-tools": {
15+
"python3": "3.7.1"
16+
}
17+
}

scripts/ci_setup.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,10 @@ def main(args: CiSetupArgs):
377377
dotnet.setup_dotnet(args.dotnet_path)
378378

379379
framework = ChannelMap.get_target_framework_moniker(args.channel)
380+
if framework in ('net10.0', 'nativeaot10.0'):
381+
global_json_path = os.path.join(get_repo_root_path(), 'global.json')
382+
shutil.copy(os.path.join(get_repo_root_path(), 'global.net10.json'), global_json_path)
383+
getLogger().info('Overwrote global.json with global.net10.json')
380384
if framework in ('net9.0', 'nativeaot9.0'):
381385
global_json_path = os.path.join(get_repo_root_path(), 'global.json')
382386
shutil.copy(os.path.join(get_repo_root_path(), 'global.net9.json'), global_json_path)

scripts/dotnet.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ def get_target_framework_moniker(framework: str) -> str:
8383
return 'net9.0'
8484
if framework == 'nativeaot10.0':
8585
return 'net10.0'
86+
if framework == 'nativeaot11.0':
87+
return 'net11.0'
8688
else:
8789
return framework
8890

scripts/micro_benchmarks.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ def __get_benchmarkdotnet_arguments(framework: str, args: Any) -> list[str]:
269269
run_args += ['--runtimes', 'wasmnet90']
270270
elif framework == "net10.0":
271271
run_args += ['--runtimes', 'wasmnet10_0']
272+
elif framework == "net11.0":
273+
run_args += ['--runtimes', 'wasmnet11_0']
272274
else:
273275
raise ArgumentTypeError('Framework {} is not supported for wasm'.format(framework))
274276

src/benchmarks/micro/MicroBenchmarks.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<!-- Supported target frameworks -->
5-
<SupportedTargetFrameworks>net6.0;net7.0;net8.0;net9.0;net10.0</SupportedTargetFrameworks>
5+
<SupportedTargetFrameworks>net6.0;net7.0;net8.0;net9.0;net10.0;net11.0</SupportedTargetFrameworks>
66
<SupportedTargetFrameworks Condition="'$(OS)' == 'Windows_NT'">$(SupportedTargetFrameworks);net472</SupportedTargetFrameworks>
77
<!-- Used by Python script to narrow down the specified target frameworks to test, and avoid downloading all supported SDKs -->
88
<TargetFrameworks>$(PERFLAB_TARGET_FRAMEWORKS)</TargetFrameworks>

src/benchmarks/micro/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,53 +12,53 @@ To learn more about designing benchmarks, please read [Microbenchmark Design Gui
1212

1313
## Quick Start
1414

15-
The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net10.0` as the target framework.
15+
The first thing that you need to choose is the Target Framework. Available options are: `netcoreapp3.1|net6.0|net7.0|net8.0|net9.0|net10.0|net11.0|net472`. You can specify the target framework using `-f|--framework` argument. For the sake of simplicity, all examples below use `net11.0` as the target framework.
1616

1717
The following commands are run from the `src/benchmarks/micro` directory.
1818

1919
To run the benchmarks in Interactive Mode, where you will be asked which benchmark(s) to run:
2020

2121
```cmd
22-
dotnet run -c Release -f net10.0
22+
dotnet run -c Release -f net11.0
2323
```
2424

2525
To list all available benchmarks ([read more](../../../docs/benchmarkdotnet.md#Listing-the-Benchmarks)):
2626

2727
```cmd
28-
dotnet run -c Release -f net10.0 --list flat|tree
28+
dotnet run -c Release -f net11.0 --list flat|tree
2929
```
3030

3131
To filter the benchmarks using a glob pattern applied to namespace.typeName.methodName ([read more](../../../docs/benchmarkdotnet.md#Filtering-the-Benchmarks)):
3232

3333
```cmd
34-
dotnet run -c Release -f net10.0 --filter *Span*
34+
dotnet run -c Release -f net11.0 --filter *Span*
3535
```
3636

3737
To profile the benchmarked code and produce an ETW Trace file ([read more](../../../docs/benchmarkdotnet.md#Profiling)):
3838

3939
```cmd
40-
dotnet run -c Release -f net10.0 --filter $YourFilter --profiler ETW
40+
dotnet run -c Release -f net11.0 --filter $YourFilter --profiler ETW
4141
```
4242

4343
To run the benchmarks for multiple runtimes ([read more](../../../docs/benchmarkdotnet.md#Multiple-Runtimes)):
4444

4545
```cmd
46-
dotnet run -c Release -f net8.0 --filter * --runtimes net8.0 net10.0
46+
dotnet run -c Release -f net10.0 --filter * --runtimes net10.0 net11.0
4747
```
4848

4949
## Private Runtime Builds
5050

5151
If you contribute to [dotnet/runtime](https://github.com/dotnet/runtime) and want to benchmark **local builds of .NET Core** you need to build [dotnet/runtime](https://github.com/dotnet/runtime) in Release (including tests - so a command similar to `build clr+libs+libs.tests -rc release -lc release`) and then provide the path(s) to CoreRun(s). Provided CoreRun(s) will be used to execute every benchmark in a dedicated process:
5252

5353
```cmd
54-
dotnet run -c Release -f net10.0 --filter $YourFilter \
54+
dotnet run -c Release -f net11.0 --filter $YourFilter \
5555
--corerun C:\git\runtime\artifacts\bin\testhost\net10.0-windows-Release-x64\shared\Microsoft.NETCore.App\9.0.0\CoreRun.exe
5656
```
5757

5858
To make sure that your changes don't introduce any regressions, you can provide paths to CoreRuns with and without your changes and use the Statistical Test feature to detect regressions/improvements ([read more](../../../docs/benchmarkdotnet.md#Regressions)):
5959

6060
```cmd
61-
dotnet run -c Release -f net10.0 \
61+
dotnet run -c Release -f net11.0 \
6262
--filter BenchmarksGame* \
6363
--statisticalTest 3ms \
6464
--coreRun \
Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
<Project>
2+
<PropertyGroup Condition="$(TargetFrameworks.Contains('net11.0')) or ($(TargetFrameworkVersion) != '' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '11.0')))">
3+
<AspNetCoreVersion>11.0.0-*</AspNetCoreVersion>
4+
<BlazorVersion>11.0.0-*</BlazorVersion>
5+
<SystemNetHttpJsonVersion>11.0.0-*</SystemNetHttpJsonVersion>
6+
</PropertyGroup>
27
<PropertyGroup Condition="$(TargetFrameworks.Contains('net10.0')) or ($(TargetFrameworkVersion) != '' and $([MSBuild]::VersionEquals('$(TargetFrameworkVersion)', '10.0')))">
38
<AspNetCoreVersion>10.0.0-*</AspNetCoreVersion>
49
<BlazorVersion>10.0.0-*</BlazorVersion>
@@ -26,26 +31,4 @@
2631
<BlazorVersion Condition="'$(BlazorVersion)' == ''">6.0.0-preview*</BlazorVersion>
2732
<SystemNetHttpJsonVersion Condition="'$(SystemNetHttpJsonVersion)' == ''">6.0.0-preview*</SystemNetHttpJsonVersion>
2833
</PropertyGroup>
29-
30-
<!-- Workaround: Explicit Microsoft.Extensions pre-release versions for net10.0.
31-
The WebAssembly SDK depends on Microsoft.Extensions packages with version >=10.0.0.
32-
Only pre-release (rtm/rc) builds are presently available in internal feeds; since
33-
NuGet treats pre-release < stable, transitive resolution fails. We force a floating
34-
pre-release selection via explicit PackageReferences conditioned on net10.0. -->
35-
<PropertyGroup Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))">
36-
<ExtensionsVersion>10.0.0-*</ExtensionsVersion>
37-
</PropertyGroup>
38-
39-
<ItemGroup>
40-
<!-- Explicit extensions packages (conditional) -->
41-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
42-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
43-
<PackageReference Include="Microsoft.Extensions.Logging" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
44-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
45-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
46-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
47-
<PackageReference Include="Microsoft.Extensions.Options" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
48-
<PackageReference Include="Microsoft.Extensions.Primitives" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
49-
<PackageReference Include="Microsoft.Extensions.Diagnostics" Version="$(ExtensionsVersion)" Condition="'$(TargetFramework)' == 'net10.0' or $(TargetFrameworks.Contains('net10.0'))" />
50-
</ItemGroup>
5134
</Project>

src/scenarios/shared/mauisharedpython.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def generate_maui_rollback_dict(target_framework: str):
2121
This eliminates the need to maintain MAUI dependencies in the performance repo's Version.Details.xml.
2222
2323
Args:
24-
target_framework: Target framework to determine which MAUI branch to use (e.g., "net10.0")
24+
target_framework: Target framework to determine which MAUI branch to use (e.g., "net11.0")
2525
2626
Returns:
2727
Dictionary mapping rollback package names to version/band strings
@@ -159,13 +159,13 @@ def extract_latest_dotnet_feed_from_nuget_config(path: str, offset: int = 0) ->
159159

160160
return target_feed
161161

162-
def download_maui_nuget_config(target_framework: str = "net10.0", output_filename: str = "MauiNuGet.config") -> str:
162+
def download_maui_nuget_config(target_framework: str = "net11.0", output_filename: str = "MauiNuGet.config") -> str:
163163
'''
164164
Download MAUI's NuGet.config from the appropriate branch.
165165
Returns the path to the downloaded config file.
166166
167167
Args:
168-
target_framework: Target framework to determine which branch to use (e.g., "net10.0")
168+
target_framework: Target framework to determine which branch to use (e.g., "net11.0")
169169
output_filename: Name of the file to save the downloaded config
170170
'''
171171
# Extract base framework version (e.g., "net10.0" from "net10.0-android")

0 commit comments

Comments
 (0)