Skip to content

Commit ef3edbc

Browse files
Update markdowns to 7.0 (dotnet#2251)
Co-authored-by: Adam Sitnik <[email protected]>
1 parent a74ff5e commit ef3edbc

10 files changed

+89
-93
lines changed

docs/basic-scenarios.md

+18-19
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ For **Self-Contained Empty Console App Size On Disk** scenario, run precommand t
3434

3535
```cmd
3636
cd emptyconsoletemplate
37-
python3 pre.py publish -f net6.0 -c Release -r win-x64
37+
python3 pre.py publish -f net7.0 -c Release -r win-x64
3838
```
3939

40-
`-f net6.0` sets the new template project targeting `net6.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 net7.0` sets the new template project targeting `net7.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.
4141

4242
**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.**
4343

@@ -81,31 +81,30 @@ Same instruction of [Scenario Tests Guide - Step 4](./scenarios-workflow.md#step
8181
## Command Matrix
8282

8383
- \<tfm> values:
84-
- netcoreapp2.1
8584
- netcoreapp3.1
86-
- net5.0
8785
- net6.0
86+
- net7.0
8887
- \<-r RID> values:
8988
- ""(WITHOUT `-r <RID>` --> FDD app)
9089
- `"-r <RID>"` (WITH `-r` --> SCD app, [list of RID](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog))
9190

9291
| Scenario | Asset Directory | Precommand | Testcommand | Postcommand | Supported Framework | Supported Platform |
9392
|-----------------------------------------------|-------------------------|-----------------------------------------------|-----------------|-------------|--------------------------------------------------|--------------------|
94-
| Static Console Template Publish Startup | staticconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows |
95-
| Static Console Template Publish SizeOnDisk | staticconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
96-
| Static Console Template Build SizeOnDisk | staticconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
97-
| Static VB Console Template Publish Startup | staticvbconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows |
98-
| Static VB Console Template Publish SizeOnDisk | staticvbconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
99-
| Static VB Console Template Build SizeOnDisk | staticvbconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
100-
| Static Winforms Template Publish Startup | staticwinformstemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp2.1;netcoreapp3.1 | Windows |
101-
| Static Winforms Template Publish SizeOnDisk | staticwinformstemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1 | Windows;Linux |
102-
| Static Winforms Template Build SizeOnDisk | staticwinformstemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1 | Windows;Linux |
103-
| New Console Template Publish Startup | emptyconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows |
104-
| New Console Template Publish SizeOnDisk | emptyconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
105-
| New Console Template Build SizeOnDisk | emptyconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
106-
| New VB Console Template Publish Startup | emptyvbconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows |
107-
| New VB Console Template Publish SizeOnDisk | emptyvbconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
108-
| New VB Console Template Build SizeOnDisk | emptyvbconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp2.1;netcoreapp3.1;net5.0;net6.0 | Windows;Linux |
93+
| Static Console Template Publish Startup | staticconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp3.1;net6.0;net7.0 | Windows |
94+
| Static Console Template Publish SizeOnDisk | staticconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
95+
| Static Console Template Build SizeOnDisk | staticconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
96+
| Static VB Console Template Publish Startup | staticvbconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp3.1;net6.0;net7.0 | Windows |
97+
| Static VB Console Template Publish SizeOnDisk | staticvbconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
98+
| Static VB Console Template Build SizeOnDisk | staticvbconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
99+
| Static Winforms Template Publish Startup | staticwinformstemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp3.1 | Windows |
100+
| Static Winforms Template Publish SizeOnDisk | staticwinformstemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp3.1 | Windows;Linux |
101+
| Static Winforms Template Build SizeOnDisk | staticwinformstemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp3.1 | Windows;Linux |
102+
| New Console Template Publish Startup | emptyconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp3.1;net6.0;net7.0 | Windows |
103+
| New Console Template Publish SizeOnDisk | emptyconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
104+
| New Console Template Build SizeOnDisk | emptyconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
105+
| New VB Console Template Publish Startup | emptyvbconsoletemplate | pre.py publish -f TFM -c Release | test.py startup | post.py | netcoreapp3.1;net6.0;net7.0 | Windows |
106+
| New VB Console Template Publish SizeOnDisk | emptyvbconsoletemplate | pre.py publish -f TFM -c Release /<-r RID> | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
107+
| New VB Console Template Build SizeOnDisk | emptyvbconsoletemplate | pre.py build -f TFM -c Release | test.py sod | post.py | netcoreapp3.1;net6.0;net7.0 | Windows;Linux |
109108

110109
## Relevant Links
111110

docs/benchmarkdotnet.md

+30-33
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ In order to build or run the benchmarks you will need the **.NET Core command-li
5959

6060
### Using .NET Cli
6161

62-
To build the benchmarks you need to have the right `dotnet cli`. This repository allows to benchmark .NET Core 2.1, 3.1, 5.0 and 6.0 so you need to install all of them.
62+
To build the benchmarks you need to have the right `dotnet cli`. This repository allows you to benchmark .NET Core 3.1, .NET 6.0 and .NET 7.0 so you need to install all of them.
6363

6464
All you need to do is run the following command:
6565

@@ -70,8 +70,8 @@ dotnet build -c Release
7070
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.
7171

7272
```diff
73-
-<TargetFrameworks>netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
74-
+<TargetFrameworks>net6.0</TargetFrameworks>
73+
-<TargetFrameworks>netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
74+
+<TargetFrameworks>net7.0</TargetFrameworks>
7575
```
7676

7777
The alternative is to set `PERFLAB_TARGET_FRAMEWORKS` environment variable to selected Target Framework Moniker.
@@ -81,7 +81,7 @@ The alternative is to set `PERFLAB_TARGET_FRAMEWORKS` environment variable to se
8181
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:
8282

8383
```cmd
84-
py .\scripts\benchmarks_ci.py --frameworks net6.0
84+
py .\scripts\benchmarks_ci.py --frameworks net7.0
8585
```
8686

8787
## Running the Benchmarks
@@ -91,7 +91,7 @@ py .\scripts\benchmarks_ci.py --frameworks net6.0
9191
To run the benchmarks in interactive mode you have to execute `dotnet run -c Release -f $targetFrameworkMoniker` in the folder with benchmarks project.
9292

9393
```cmd
94-
C:\Projects\performance\src\benchmarks\micro> dotnet run -c Release -f net6.0
94+
C:\Projects\performance\src\benchmarks\micro> dotnet run -c Release -f net7.0
9595
Available Benchmarks:
9696
#0 Burgers
9797
#1 ByteMark
@@ -122,37 +122,37 @@ The glob patterns are applied to full benchmark name: namespace.typeName.methodN
122122
- Run all the benchmarks from BenchmarksGame namespace:
123123

124124
```cmd
125-
dotnet run -c Release -f net6.0 --filter BenchmarksGame*
125+
dotnet run -c Release -f net7.0 --filter BenchmarksGame*
126126
```
127127

128128
- Run all the benchmarks with type name Richards:
129129

130130
```cmd
131-
dotnet run -c Release -f net6.0 --filter *.Richards.*
131+
dotnet run -c Release -f net7.0 --filter *.Richards.*
132132
```
133133

134134
- Run all the benchmarks with method name ToStream:
135135

136136
```cmd
137-
dotnet run -c Release -f net6.0 --filter *.ToStream
137+
dotnet run -c Release -f net7.0 --filter *.ToStream
138138
```
139139

140140
- Run ALL benchmarks:
141141

142142
```cmd
143-
dotnet run -c Release -f net6.0 --filter *
143+
dotnet run -c Release -f net7.0 --filter *
144144
```
145145

146146
- You can provide many filters (logical disjunction):
147147

148148
```cmd
149-
dotnet run -c Release -f net6.0 --filter System.Collections*.Dictionary* *.Perf_Dictionary.*
149+
dotnet run -c Release -f net7.0 --filter System.Collections*.Dictionary* *.Perf_Dictionary.*
150150
```
151151

152152
- To print a **joined summary** for all of the benchmarks (by default printed per type), use `--join`:
153153

154154
```cmd
155-
dotnet run -c Release -f net6.0 --filter BenchmarksGame* --join
155+
dotnet run -c Release -f net7.0 --filter BenchmarksGame* --join
156156
```
157157

158158
Please remember that on **Unix** systems `*` is resolved to all files in current directory, so you need to escape it `'*'`.
@@ -161,10 +161,10 @@ Please remember that on **Unix** systems `*` is resolved to all files in current
161161

162162
To print the list of all available benchmarks you need to pass `--list [tree/flat]` argument. It can also be combined with `--filter` option.
163163

164-
Example: Show the tree of all the benchmarks from System.Threading namespace that can be run for .NET 6.0:
164+
Example: Show the tree of all the benchmarks from System.Threading namespace that can be run for .NET 7.0:
165165

166166
```cmd
167-
dotnet run -c Release -f net6.0 --list tree --filter System.Threading*
167+
dotnet run -c Release -f net7.0 --list tree --filter System.Threading*
168168
```
169169

170170
```log
@@ -259,7 +259,7 @@ If you want to disassemble the benchmarked code, you need to use the [Disassembl
259259

260260
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))`.
261261

262-
Example: `dotnet run -c Release -f net6.0 -- --filter System.Memory.Span<Int32>.Reverse -d`
262+
Example: `dotnet run -c Release -f net7.0 -- --filter System.Memory.Span<Int32>.Reverse -d`
263263

264264
```assembly
265265
; System.Runtime.InteropServices.MemoryMarshal.GetReference[[System.Byte, System.Private.CoreLib]](System.Span`1<Byte>)
@@ -285,30 +285,30 @@ M00_L00:
285285

286286
The `--runtimes` or just `-r` allows you to run the benchmarks for **multiple Runtimes**.
287287

288-
Available options are: Mono, CoreRT, net461, net462, net47, net471, net472, netcoreapp3.1, net5.0 and net6.0.
288+
Available options are: Mono, CoreRT, net461, net462, net47, net471, net472, netcoreapp3.1, net6.0 and net7.0.
289289

290-
Example: run the benchmarks for .NET 5.0 and 6.0:
290+
Example: run the benchmarks for .NET 6.0 and 7.0:
291291

292292
```cmd
293-
dotnet run -c Release -f net5.0 --runtimes net5.0 net6.0
293+
dotnet run -c Release -f net6.0 --runtimes net6.0 net7.0
294294
```
295295

296-
**Important: The host process needs to be the lowest common API denominator of the runtimes you want to compare!** In this case, it was `net5.0`.
296+
**Important: The host process needs to be the lowest common API denominator of the runtimes you want to compare!** In this case, it was `net6.0`.
297297

298298
## Regressions
299299

300300
To perform a Mann–Whitney U Test and display the results in a dedicated column you need to provide the Threshold for Statistical Test via `--statisticalTest` argument. The value can be relative (5%) or absolute (10ms, 100ns, 1s)
301301

302-
Example: run Mann–Whitney U test with relative ratio of 5% for `BinaryTrees_2` for .NET 5.0 (base) vs .NET 6.0 (diff). .NET Core 5.0 will be baseline because it was first.
302+
Example: run Mann–Whitney U test with relative ratio of 5% for `BinaryTrees_2` for .NET 6.0 (base) vs .NET 7.0 (diff). .NET 6.0 will be baseline because it was first.
303303

304304
```cmd
305-
dotnet run -c Release -f net6.0 --filter *BinaryTrees_2* --runtimes net5.0 net6.0 --statisticalTest 5%
305+
dotnet run -c Release -f net7.0 --filter *BinaryTrees_2* --runtimes net6.0 net7.0 --statisticalTest 5%
306306
```
307307

308308
| Method | Toolchain | Mean | MannWhitney(5%) |
309309
|-------------- |-------------- |---------:|---------------- |
310-
| BinaryTrees_2 | net5.0 | 124.4 ms | Base |
311-
| BinaryTrees_2 | net6.0 | 153.7 ms | Slower |
310+
| BinaryTrees_2 | net6.0 | 124.4 ms | Base |
311+
| BinaryTrees_2 | net7.0 | 153.7 ms | Slower |
312312

313313
**Note:** to compare the historical results you need to use [Results Comparer](../src/tools/ResultsComparer/README.md)
314314

@@ -329,24 +329,21 @@ Please use this option only when you are sure that the benchmarks you want to ru
329329
It's possible to benchmark private builds of [dotnet/runtime](https://github.com/dotnet/runtime) using CoreRun.
330330

331331
```cmd
332-
dotnet run -c Release -f net6.0 --coreRun $thePath
332+
dotnet run -c Release -f net7.0 --coreRun $thePath
333333
```
334334

335335
**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.
336336

337337
**Note:** If `CoreRunToolchain` detects that you have some older version of dependencies required to run the benchmarks in CoreRun folder, it's going to overwrite them with newer versions from the published app. It's going to do that in a shadow copy of the folder with CoreRun, so your configuration remains untouched.
338338

339-
If you are not sure which assemblies gets loaded and used you can use the following code to find out:
339+
If you are not sure which assemblies are loaded and used you can use the following code to find out:
340340

341341
```cs
342342
[GlobalSetup]
343343
public void PrintInfo()
344344
{
345-
var coreFxAssemblyInfo = FileVersionInfo.GetVersionInfo(typeof(Regex).GetTypeInfo().Assembly.Location);
346-
var coreClrAssemblyInfo = FileVersionInfo.GetVersionInfo(typeof(object).GetTypeInfo().Assembly.Location);
347-
348-
Console.WriteLine($"// CoreFx version: {coreFxAssemblyInfo.FileVersion}, location {typeof(Regex).GetTypeInfo().Assembly.Location}, product version {coreFxAssemblyInfo.ProductVersion}");
349-
Console.WriteLine($"// CoreClr version {coreClrAssemblyInfo.FileVersion}, location {typeof(object).GetTypeInfo().Assembly.Location}, product version {coreClrAssemblyInfo.ProductVersion}");
345+
var systemPrivateCoreLib = FileVersionInfo.GetVersionInfo(typeof(object).Assembly.Location);
346+
Console.WriteLine($"// System.Private.CoreLib version {systemPrivateCoreLib.FileVersion}, location {typeof(object).Assembly.Location}, product version {systemPrivateCoreLib.ProductVersion}");
350347
}
351348
```
352349

@@ -355,10 +352,10 @@ public void PrintInfo()
355352
You can also use any dotnet cli to build and run the benchmarks.
356353

357354
```cmd
358-
dotnet run -c Release -f net6.0 --cli "C:\Projects\performance\.dotnet\dotnet.exe"
355+
dotnet run -c Release -f net7.0 --cli "C:\Projects\performance\.dotnet\dotnet.exe"
359356
```
360357

361-
This is very useful when you want to compare different builds of .NET Core SDK.
358+
This is very useful when you want to compare different builds of .NET.
362359

363360
### Private CLR Build
364361

@@ -367,7 +364,7 @@ It's possible to benchmark a private build of .NET Runtime. You just need to pas
367364
So if you made a change in CLR and want to measure the difference, you can run the benchmarks with:
368365

369366
```cmd
370-
dotnet run -c Release -f net472 -- --clrVersion $theVersion
367+
dotnet run -c Release -f net48 -- --clrVersion $theVersion
371368
```
372369

373370
More info can be found [here](https://github.com/dotnet/BenchmarkDotNet/issues/706).
@@ -377,5 +374,5 @@ More info can be found [here](https://github.com/dotnet/BenchmarkDotNet/issues/7
377374
To run benchmarks with private CoreRT build you need to provide the `IlcPath`. Example:
378375

379376
```cmd
380-
dotnet run -c Release -f net6.0 -- --ilcPath C:\Projects\corert\bin\Windows_NT.x64.Release
377+
dotnet run -c Release -f net7.0 -- --ilcPath C:\Projects\corert\bin\Windows_NT.x64.Release
381378
```

0 commit comments

Comments
 (0)