You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`-f net8.0` sets the new template project targeting `net8.0` framework; `-c Release` configures the publish to be in release; `-r win-x64` takes an [RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog)(Runtime Identifier) and specifies which runtime it supports.
40
+
`-f net9.0` sets the new template project targeting `net9.0` framework; `-c Release` configures the publish to be in release; `-r win-x64` takes an [RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog)(Runtime Identifier) and specifies which runtime it supports.
41
41
42
42
**Note that by specifying RID option `-r <RID>`, it defaults to publish the app into a [SCD](https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained)(Self-contained Deployment) app; without it, a [FDD](https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-framework-dependent)(Framework Dependent Deployment) app will be published.**
43
43
@@ -85,27 +85,28 @@ Same instruction of [Scenario Tests Guide - Step 4](./scenarios-workflow.md#step
85
85
- net6.0
86
86
- net7.0
87
87
- net8.0
88
+
- net9.0
88
89
-\<-r RID> values:
89
90
- ""(WITHOUT `-r <RID>` --> FDD app)
90
91
-`"-r <RID>"` (WITH `-r` --> SCD app, [list of RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog))
If you don't want to install all of them and just run the benchmarks for selected runtime(s), you need to manually edit the [MicroBenchmarks.csproj](../src/benchmarks/micro/MicroBenchmarks.csproj) file.
The alternative is to set `PERFLAB_TARGET_FRAMEWORKS` environment variable to selected Target Framework Moniker.
@@ -81,7 +83,7 @@ The alternative is to set `PERFLAB_TARGET_FRAMEWORKS` environment variable to se
81
83
If you don't want to install `dotnet cli` manually, we have a Python 3 script which can do that for you. All you need to do is to provide the frameworks:
To run the benchmarks in interactive mode you have to execute `dotnet run -c Release -f $targetFrameworkMoniker` in the folder with benchmarks project.
92
94
93
95
```cmd
94
-
C:\Projects\performance\src\benchmarks\micro> dotnet run -c Release -f net8.0
96
+
C:\Projects\performance\src\benchmarks\micro> dotnet run -c Release -f net9.0
95
97
Available Benchmarks:
96
98
#0 Burgers
97
99
#1 ByteMark
@@ -122,37 +124,37 @@ The glob patterns are applied to full benchmark name: namespace.typeName.methodN
122
124
- Run all the benchmarks from BenchmarksGame namespace:
123
125
124
126
```cmd
125
-
dotnet run -c Release -f net8.0 --filter BenchmarksGame*
127
+
dotnet run -c Release -f net9.0 --filter BenchmarksGame*
126
128
```
127
129
128
130
- Run all the benchmarks with type name Richards:
129
131
130
132
```cmd
131
-
dotnet run -c Release -f net8.0 --filter *.Richards.*
133
+
dotnet run -c Release -f net9.0 --filter *.Richards.*
132
134
```
133
135
134
136
- Run all the benchmarks with method name ToStream:
135
137
136
138
```cmd
137
-
dotnet run -c Release -f net8.0 --filter *.ToStream
139
+
dotnet run -c Release -f net9.0 --filter *.ToStream
138
140
```
139
141
140
142
- Run ALL benchmarks:
141
143
142
144
```cmd
143
-
dotnet run -c Release -f net8.0 --filter *
145
+
dotnet run -c Release -f net9.0 --filter *
144
146
```
145
147
146
148
- You can provide many filters (logical disjunction):
147
149
148
150
```cmd
149
-
dotnet run -c Release -f net8.0 --filter System.Collections*.Dictionary* *.Perf_Dictionary.*
151
+
dotnet run -c Release -f net9.0 --filter System.Collections*.Dictionary* *.Perf_Dictionary.*
150
152
```
151
153
152
154
- To print a **joined summary** for all of the benchmarks (by default printed per type), use `--join`:
153
155
154
156
```cmd
155
-
dotnet run -c Release -f net8.0 --filter BenchmarksGame* --join
157
+
dotnet run -c Release -f net9.0 --filter BenchmarksGame* --join
156
158
```
157
159
158
160
Please remember that on **Unix** systems `*` is resolved to all files in current directory, so you need to escape it `'*'`.
@@ -164,7 +166,7 @@ To print the list of all available benchmarks you need to pass `--list [tree/fla
164
166
Example: Show the tree of all the benchmarks from System.Threading namespace that can be run for .NET 7.0:
165
167
166
168
```cmd
167
-
dotnet run -c Release -f net8.0 --list tree --filter System.Threading*
169
+
dotnet run -c Release -f net9.0 --list tree --filter System.Threading*
168
170
```
169
171
170
172
```log
@@ -259,7 +261,7 @@ If you want to disassemble the benchmarked code, you need to use the [Disassembl
259
261
260
262
You can do that by passing `--disassm` to the app or by using `[DisassemblyDiagnoser(printAsm: true, printSource: true)]` attribute or by adding it to your config with `config.With(DisassemblyDiagnoser.Create(new DisassemblyDiagnoserConfig(printAsm: true, recursiveDepth: 1))`.
The `--runtimes` or just `-r` allows you to run the benchmarks for **multiple Runtimes**.
287
289
288
-
Available options are: Mono, wasmnet70, CoreRT, net462, net47, net471, net472, netcoreapp3.1, net6.0, net7.0, and net8.0.
290
+
Available options are: Mono, wasmnet70, CoreRT, net462, net47, net471, net472, netcoreapp3.1, net6.0, net7.0, net8.0, and net9.0.
289
291
290
292
Example: run the benchmarks for .NET 7.0 and 8.0:
291
293
@@ -329,7 +331,7 @@ Please use this option only when you are sure that the benchmarks you want to ru
329
331
It's possible to benchmark private builds of [dotnet/runtime](https://github.com/dotnet/runtime) using CoreRun.
330
332
331
333
```cmd
332
-
dotnet run -c Release -f net8.0 --coreRun $thePath
334
+
dotnet run -c Release -f net9.0 --coreRun $thePath
333
335
```
334
336
335
337
**Note:** You can provide more than 1 path to CoreRun. In such case, the first path will be the baseline and all the benchmarks are going to be executed for all CoreRuns you have specified.
@@ -352,7 +354,7 @@ public void PrintInfo()
352
354
You can also use any dotnet cli to build and run the benchmarks.
353
355
354
356
```cmd
355
-
dotnet run -c Release -f net8.0 --cli "C:\Projects\performance\.dotnet\dotnet.exe"
357
+
dotnet run -c Release -f net9.0 --cli "C:\Projects\performance\.dotnet\dotnet.exe"
356
358
```
357
359
358
360
This is very useful when you want to compare different builds of .NET.
@@ -374,5 +376,5 @@ More info can be found [here](https://github.com/dotnet/BenchmarkDotNet/issues/7
374
376
To run benchmarks with private CoreRT build you need to provide the `IlcPath`. Example:
375
377
376
378
```cmd
377
-
dotnet run -c Release -f net8.0 -- --ilcPath C:\Projects\corert\bin\Windows_NT.x64.Release
379
+
dotnet run -c Release -f net9.0 -- --ilcPath C:\Projects\corert\bin\Windows_NT.x64.Release
0 commit comments