Skip to content

Commit 16a0665

Browse files
committed
Merge branch 'master' into survivedMemory
# Conflicts: # src/BenchmarkDotNet/Engines/Engine.cs
2 parents 39aec1b + 64c3a3c commit 16a0665

File tree

282 files changed

+7312
-2044
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+7312
-2044
lines changed

.github/workflows/docs-stable.yaml

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: docs-stable
2+
3+
on:
4+
push:
5+
branches:
6+
- docs-stable
7+
workflow_dispatch:
8+
9+
permissions: write-all
10+
11+
jobs:
12+
build:
13+
runs-on: windows-latest
14+
steps:
15+
16+
- name: Checkout
17+
uses: actions/checkout@v3
18+
with:
19+
ref: docs-stable
20+
21+
- name: Build BenchmarkDotNet
22+
run: ./build.bat --target Build
23+
24+
# Temporary disabled because of the API limit
25+
# - name: Download changelog
26+
# run: ./build.bat --target DocFX_Changelog_Download --LatestVersions true --StableVersions true
27+
# env:
28+
# GITHUB_PRODUCT: ChangelogBuilder
29+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Build documentation
32+
run: ./build.bat --target DocFX_Build
33+
34+
- name: Upload Artifacts
35+
uses: actions/upload-artifact@v1
36+
with:
37+
name: site
38+
path: docs/_site
39+
40+
deploy:
41+
concurrency: ci-${{ github.ref }}
42+
needs: [build]
43+
runs-on: ubuntu-latest
44+
steps:
45+
46+
- name: Checkout
47+
uses: actions/checkout@v3
48+
with:
49+
ref: docs-stable
50+
51+
- name: Download Artifacts
52+
uses: actions/download-artifact@v1
53+
with:
54+
name: site
55+
56+
- name: Deploy documentation
57+
uses: JamesIves/[email protected]
58+
with:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
BRANCH: gh-pages
61+
FOLDER: site
62+
GIT_CONFIG_NAME: Andrey Akinshin
63+
GIT_CONFIG_EMAIL: [email protected]
64+
CLEAN: true

.github/workflows/spellcheck.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Documentation Checks
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- "docs/**/*"
9+
pull_request:
10+
branches:
11+
- master
12+
paths:
13+
- "docs/**/*"
14+
jobs:
15+
spellcheck:
16+
name: "Docs: Spellcheck"
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v2
20+
name: Check out the code
21+
- uses: actions/setup-node@v1
22+
name: Setup node
23+
with:
24+
node-version: "16"
25+
- run: npm install -g cspell
26+
name: Install cSpell
27+
- run: cspell --config ./cSpell.json "docs/**/*.md" --no-progress
28+
name: Run cSpell

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ It's no harder than writing unit tests!
2929
Under the hood, it performs a lot of [magic](#Automation) that guarantees [reliable and precise](#Reliability) results thanks to the [perfolizer](https://github.com/AndreyAkinshin/perfolizer) statistical engine.
3030
BenchmarkDotNet protects you from popular benchmarking mistakes and warns you if something is wrong with your benchmark design or obtained measurements.
3131
The results are presented in a [user-friendly](#Friendliness) form that highlights all the important facts about your experiment.
32-
The library is adopted by [6800+ projects](#who-uses-benchmarkdotnet) including .NET Runtime and supported by the [.NET Foundation](https://dotnetfoundation.org).
32+
The library is adopted by [11700+ projects](#who-uses-benchmarkdotnet) including .NET Runtime and supported by the [.NET Foundation](https://dotnetfoundation.org).
3333

3434
It's [easy](#Simplicity) to start writing benchmarks, check out an example
3535
(copy-pastable version is [here](https://benchmarkdotnet.org/articles/guides/getting-started.html)):
@@ -231,9 +231,9 @@ If you don't customize the summary view,
231231
## Who uses BenchmarkDotNet?
232232

233233
Everyone!
234-
BenchmarkDotNet is already adopted by more than [6800+](https://github.com/dotnet/BenchmarkDotNet/network/dependents?package_id=UGFja2FnZS0xNTY3MzExMzE%3D) projects including
234+
BenchmarkDotNet is already adopted by more than [11700+](https://github.com/dotnet/BenchmarkDotNet/network/dependents?package_id=UGFja2FnZS0xNTY3MzExMzE%3D) projects including
235235
[dotnet/performance](https://github.com/dotnet/performance) (reference benchmarks for all .NET Runtimes),
236-
[dotnet/runtime](https://github.com/dotnet/runtime/issues?utf8=%E2%9C%93&q=BenchmarkDotNet) (.NET Core runtime and libraries),
236+
[dotnet/runtime](https://github.com/dotnet/runtime/issues?utf8=%E2%9C%93&q=BenchmarkDotNet) (.NET runtime and libraries),
237237
[Roslyn](https://github.com/dotnet/roslyn/search?q=BenchmarkDotNet&type=Issues&utf8=✓) (C# and Visual Basic compiler),
238238
[Mono](https://github.com/mono/mono/tree/master/sdks/wasm/bench-runner),
239239
[ASP.NET Core](https://github.com/aspnet/AspNetCore/tree/master/src/Servers/IIS/IIS/benchmarks),
@@ -266,9 +266,9 @@ BenchmarkDotNet is already adopted by more than [6800+](https://github.com/dotne
266266
[TensorFlow.NET](https://github.com/SciSharp/TensorFlow.NET/tree/master/src/TensorFlowNet.Benchmarks),
267267
[Apache Thrift](https://github.com/apache/thrift/tree/master/lib/netstd/Benchmarks/Thrift.Benchmarks).
268268
On GitHub, you can find
269-
4500+ [issues](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=created&type=Issues&utf8=✓),
270-
2500+ [commits](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=committer-date&type=Commits&utf8=✓), and
271-
500,000+ [files](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=indexed&type=Code&utf8=✓)
269+
8400+ [issues](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=created&type=Issues&utf8=✓),
270+
3700+ [commits](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=committer-date&type=Commits&utf8=✓), and
271+
1,200,000+ [files](https://github.com/search?o=desc&q=BenchmarkDotNet+-repo:dotnet%2FBenchmarkDotNet&s=indexed&type=Code&utf8=✓)
272272
that involve BenchmarkDotNet.
273273

274274
## Learn more about benchmarking

appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#---------------------------------#
44

55
# version format
6-
version: 0.13.1.{build}
6+
version: 0.13.2.{build}
77

88
# branches to build
99
branches:

azure-pipelines.macOS.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ jobs:
1111
- template: build/azure-pipelines.job.template.yml
1212
parameters:
1313
name: macOS
14-
vmImage: 'macOS-10.15'
14+
vmImage: 'macOS-latest'
1515
scriptFileName: ./build.sh

build/Program.cs

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.IO;
23
using System.Linq;
34
using System.Text;
@@ -202,7 +203,7 @@ public void RunDocfx(FilePath docfxJson, string args = "")
202203

203204
public static class DocumentationHelper
204205
{
205-
public const string DocFxVersion = "2.59.3";
206+
public const string DocFxVersion = "2.59.4";
206207

207208
public static readonly string[] BdnAllVersions =
208209
{
@@ -252,10 +253,11 @@ public static class DocumentationHelper
252253
"v0.12.0",
253254
"v0.12.1",
254255
"v0.13.0",
255-
"v0.13.1"
256+
"v0.13.1",
257+
"v0.13.2"
256258
};
257259

258-
public const string BdnNextVersion = "v0.13.2";
260+
public const string BdnNextVersion = "v0.13.3";
259261
public const string BdnFirstCommit = "6eda98ab1e83a0d185d09ff8b24c795711af8db1";
260262
}
261263

@@ -427,12 +429,19 @@ public override void Run(BuildContext context)
427429
context.DocfxChangelogDownload(
428430
DocumentationHelper.BdnAllVersions[i],
429431
DocumentationHelper.BdnAllVersions[i - 1]);
432+
} else if (context.Argument("LatestVersions", false))
433+
{
434+
for (int i = DocumentationHelper.BdnAllVersions.Length - 2; i < DocumentationHelper.BdnAllVersions.Length; i++)
435+
context.DocfxChangelogDownload(
436+
DocumentationHelper.BdnAllVersions[i],
437+
DocumentationHelper.BdnAllVersions[i - 1]);
430438
}
431439

432-
context.DocfxChangelogDownload(
433-
DocumentationHelper.BdnNextVersion,
434-
DocumentationHelper.BdnAllVersions.Last(),
435-
"HEAD");
440+
if (!context.Argument("StableVersions", false))
441+
context.DocfxChangelogDownload(
442+
DocumentationHelper.BdnNextVersion,
443+
DocumentationHelper.BdnAllVersions.Last(),
444+
"HEAD");
436445
}
437446
}
438447

build/common.props

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<UseSharedCompilation>false</UseSharedCompilation>
1919
<SuppressNETCoreSdkPreviewMessage>True</SuppressNETCoreSdkPreviewMessage>
2020
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CodingStyle.ruleset</CodeAnalysisRuleSet>
21+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2122
</PropertyGroup>
2223

2324
<ItemGroup>
@@ -36,7 +37,7 @@
3637

3738
<Major>0</Major>
3839
<Minor>13</Minor>
39-
<Revision>1</Revision>
40+
<Revision>2</Revision>
4041

4142
<BuildNumber Condition=" '$(APPVEYOR_BUILD_NUMBER)' != '' ">$(APPVEYOR_BUILD_NUMBER)</BuildNumber>
4243
<BuildNumber Condition=" '$(BuildNumber)' == '' ">0</BuildNumber>

cSpell.json

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
"version": "0.2",
3+
"language": "en",
4+
"words": [
5+
"Alloc",
6+
"analyse",
7+
"analyser",
8+
"Analysers",
9+
"Autofac",
10+
"bitness",
11+
"corlib",
12+
"Cygwin",
13+
"Diagnoser",
14+
"diagnosers",
15+
"disassemblers",
16+
"disassm",
17+
"Jits",
18+
"Jitting",
19+
"LINQ",
20+
"microbenchmarking",
21+
"microbenchmarks",
22+
"Mispredict",
23+
"Mispredictions",
24+
"msbuild",
25+
"Multimodal",
26+
"multimodality",
27+
"netcoreapp",
28+
"powerplans",
29+
"Pseudocode",
30+
"runtimes",
31+
"Serilog",
32+
"Tailcall",
33+
"toolchains",
34+
"unmanaged"
35+
],
36+
"ignoreWords": [
37+
"Akinshin",
38+
"Andrey",
39+
"Expecto",
40+
"Jint",
41+
"LoongArch64",
42+
"macrobenchmark",
43+
"MediatR",
44+
"Nagórski's",
45+
"Newtonsoft",
46+
"NodaTime",
47+
"Npgsql",
48+
"Sitnik's",
49+
"Wojciech",
50+
"Avalonia",
51+
"Gitter"
52+
],
53+
"patterns": [
54+
{
55+
"name": "Markdown links",
56+
"pattern": "\\((.*)\\)",
57+
"description": ""
58+
},
59+
{
60+
"name": "Markdown code blocks",
61+
"pattern": "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
62+
"description": "Taken from the cSpell example at https://cspell.org/configuration/patterns/#verbose-regular-expressions"
63+
},
64+
{
65+
"name": "Inline code blocks",
66+
"pattern": "\\`([^\\`\\r\\n]+?)\\`",
67+
"description": "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
68+
},
69+
{
70+
"name": "Link contents",
71+
"pattern": "\\<a(.*)\\>",
72+
"description": ""
73+
},
74+
{
75+
"name": "Snippet references",
76+
"pattern": "-- snippet:(.*)",
77+
"description": ""
78+
},
79+
{
80+
"name": "Snippet references 2",
81+
"pattern": "\\<\\[sample:(.*)",
82+
"description": "another kind of snippet reference"
83+
},
84+
{
85+
"name": "Multi-line code blocks",
86+
"pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm"
87+
},
88+
{
89+
"name": "HTML Tags",
90+
"pattern": "<[^>]*>",
91+
"description": "Reference: https://stackoverflow.com/questions/11229831/regular-expression-to-remove-html-tags-from-a-string"
92+
}
93+
],
94+
"ignoreRegExpList": [
95+
"Markdown links",
96+
"Markdown code blocks",
97+
"Inline code blocks",
98+
"Link contents",
99+
"Snippet references",
100+
"Snippet references 2",
101+
"Multi-line code blocks",
102+
"HTML Tags"
103+
],
104+
"ignorePaths": [
105+
"docs/_changelog/**/*.md",
106+
"docs/articles/team.md"
107+
]
108+
}

0 commit comments

Comments
 (0)