Skip to content

Commit f705adc

Browse files
committed
Merge branch 'master' into survivedMemory
# Conflicts: # src/BenchmarkDotNet/Attributes/MemoryDiagnoserAttribute.cs # src/BenchmarkDotNet/Configs/ImmutableConfig.cs # src/BenchmarkDotNet/ConsoleArguments/ConfigParser.cs # src/BenchmarkDotNet/Diagnosers/MemoryDiagnoser.cs # tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
2 parents b5d197e + 554127b commit f705adc

File tree

252 files changed

+4557
-2981
lines changed

Some content is hidden

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

252 files changed

+4557
-2981
lines changed

.github/workflows/build.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: build
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
jobs:
8+
build-windows:
9+
runs-on: windows-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: Run
13+
run: ./build.ps1
14+
build-linux:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Set up Clang
19+
uses: egor-tensin/setup-clang@v1
20+
with:
21+
version: latest
22+
platform: x64
23+
- name: Set up zlib-static
24+
run: sudo apt-get install -y libkrb5-dev
25+
- name: Run
26+
run: ./build.sh
27+
build-macos:
28+
runs-on: macOS-latest
29+
steps:
30+
- uses: actions/checkout@v2
31+
- name: Run
32+
run: ./build.sh

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,7 @@ tools/**
5858
.dotnet
5959

6060
# Xamarin
61-
Resource.designer.cs
61+
Resource.designer.cs
62+
63+
# Tests
64+
TestResults

.travis.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

NuGet.Config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
1414
<!-- reuquired to run Mono AOT benchmarks -->
1515
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
16+
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
1617
</packageSources>
1718
</configuration>

README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ It's [easy](#Simplicity) to start writing benchmarks, check out an example
3737
```cs
3838
[SimpleJob(RuntimeMoniker.Net472, baseline: true)]
3939
[SimpleJob(RuntimeMoniker.NetCoreApp30)]
40-
[SimpleJob(RuntimeMoniker.CoreRt30)]
40+
[SimpleJob(RuntimeMoniker.NativeAot70)]
4141
[SimpleJob(RuntimeMoniker.Mono)]
4242
[RPlotExporter]
4343
public class Md5VsSha256
@@ -75,30 +75,30 @@ Intel Core i7-7700K CPU 4.20GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cor
7575
[Host] : .NET Framework 4.7.2 (4.7.3468.0), X64 RyuJIT
7676
Net472 : .NET Framework 4.7.2 (4.7.3468.0), X64 RyuJIT
7777
NetCoreApp30 : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), X64 RyuJIT
78-
CoreRt30 : .NET CoreRT 1.0.28231.02 @Commit: 741d61493c560ba96e8151f9e56876d4d3828489, X64 AOT
78+
NativeAot70 : .NET 7.0.0-preview.4.22172.7, X64 NativeAOT
7979
Mono : Mono 6.4.0 (Visual Studio), X64
8080

8181

8282
| Method | Runtime | N | Mean | Error | StdDev | Ratio |
8383
|------- |-------------- |------ |-----------:|----------:|----------:|------:|
8484
| Sha256 | .NET 4.7.2 | 1000 | 7.735 us | 0.1913 us | 0.4034 us | 1.00 |
8585
| Sha256 | .NET Core 3.0 | 1000 | 3.989 us | 0.0796 us | 0.0745 us | 0.50 |
86-
| Sha256 | CoreRt 3.0 | 1000 | 4.091 us | 0.0811 us | 0.1562 us | 0.53 |
86+
| Sha256 | NativeAOT 7.0 | 1000 | 4.091 us | 0.0811 us | 0.1562 us | 0.53 |
8787
| Sha256 | Mono | 1000 | 13.117 us | 0.2485 us | 0.5019 us | 1.70 |
8888
| | | | | | | |
8989
| Md5 | .NET 4.7.2 | 1000 | 2.872 us | 0.0552 us | 0.0737 us | 1.00 |
9090
| Md5 | .NET Core 3.0 | 1000 | 1.848 us | 0.0348 us | 0.0326 us | 0.64 |
91-
| Md5 | CoreRt 3.0 | 1000 | 1.817 us | 0.0359 us | 0.0427 us | 0.63 |
91+
| Md5 | NativeAOT 7.0 | 1000 | 1.817 us | 0.0359 us | 0.0427 us | 0.63 |
9292
| Md5 | Mono | 1000 | 3.574 us | 0.0678 us | 0.0753 us | 1.24 |
9393
| | | | | | | |
9494
| Sha256 | .NET 4.7.2 | 10000 | 74.509 us | 1.5787 us | 4.6052 us | 1.00 |
9595
| Sha256 | .NET Core 3.0 | 10000 | 36.049 us | 0.7151 us | 1.0025 us | 0.49 |
96-
| Sha256 | CoreRt 3.0 | 10000 | 36.253 us | 0.7076 us | 0.7571 us | 0.49 |
96+
| Sha256 | NativeAOT 7.0 | 10000 | 36.253 us | 0.7076 us | 0.7571 us | 0.49 |
9797
| Sha256 | Mono | 10000 | 116.350 us | 2.2555 us | 3.0110 us | 1.58 |
9898
| | | | | | | |
9999
| Md5 | .NET 4.7.2 | 10000 | 17.308 us | 0.3361 us | 0.4250 us | 1.00 |
100100
| Md5 | .NET Core 3.0 | 10000 | 15.726 us | 0.2064 us | 0.1930 us | 0.90 |
101-
| Md5 | CoreRt 3.0 | 10000 | 15.627 us | 0.2631 us | 0.2461 us | 0.89 |
101+
| Md5 | NativeAOT 7.0 | 10000 | 15.627 us | 0.2631 us | 0.2461 us | 0.89 |
102102
| Md5 | Mono | 10000 | 30.205 us | 0.5868 us | 0.6522 us | 1.74 |
103103

104104
```
@@ -107,10 +107,10 @@ The measured data can be exported to different formats (md, html, csv, xml, json
107107

108108
![](docs/images/v0.12.0/rplot.png)
109109

110-
*Supported runtimes:* .NET 5+, .NET Framework 4.6.1+, .NET Core 2.0+, Mono, CoreRT
110+
*Supported runtimes:* .NET 5+, .NET Framework 4.6.1+, .NET Core 2.0+, Mono, NativeAOT
111111
*Supported languages:* C#, F#, Visual Basic
112112
*Supported OS:* Windows, Linux, macOS
113-
*Supported architectures:* x86, x64, ARM, ARM64 and Wasm
113+
*Supported architectures:* x86, x64, ARM, ARM64, Wasm and LoongArch64
114114

115115
## Features
116116

@@ -128,7 +128,7 @@ For example, if you want to [parameterize](https://benchmarkdotnet.org/articles/
128128
and run benchmarks for each case.
129129
If you want to compare benchmarks with each other,
130130
mark one of the benchmark as the [baseline](https://benchmarkdotnet.org/articles/features/baselines.html)
131-
via `[Benchmark(baseline: true)]`: BenchmarkDotNet will compare it with all of the other benchmarks.
131+
via `[Benchmark(Baseline = true)]`: BenchmarkDotNet will compare it with all of the other benchmarks.
132132
If you want to compare performance in different environments, use [jobs](https://benchmarkdotnet.org/articles/configs/jobs.html).
133133
For example, you can run all the benchmarks on .NET Core 3.0 and Mono via
134134
`[SimpleJob(RuntimeMoniker.NetCoreApp30)]` and `[SimpleJob(RuntimeMoniker.Mono)]`.
@@ -295,8 +295,7 @@ You will avoid common pitfalls, control the accuracy of your measurements, and i
295295
| Azure Pipelines | Ubuntu | [![Azure Pipelines Ubuntu](https://dev.azure.com/dotnet/BenchmarkDotNet/_apis/build/status/BenchmarkDotNet%20-%20Ubuntu)](https://dev.azure.com/dotnet/BenchmarkDotNet/_build/latest?definitionId=56) |
296296
| Azure Pipelines | macOS | [![Azure Pipelines macOS](https://dev.azure.com/dotnet/BenchmarkDotNet/_apis/build/status/BenchmarkDotNet%20-%20macOS)](https://dev.azure.com/dotnet/BenchmarkDotNet/_build/latest?definitionId=57) |
297297
| AppVeyor | Windows | [![AppVeyor/Windows](https://img.shields.io/appveyor/ci/dotnetfoundation/benchmarkdotnet/master.svg)](https://ci.appveyor.com/project/dotnetfoundation/benchmarkdotnet/branch/master) |
298-
| Travis | Linux | [![Travis/Linux](https://travis-matrix-badges.herokuapp.com/repos/dotnet/BenchmarkDotNet/branches/master/1)](https://travis-ci.org/dotnet/BenchmarkDotNet) |
299-
| Travis | macOS | [![Travis/macOS](https://travis-matrix-badges.herokuapp.com/repos/dotnet/BenchmarkDotNet/branches/master/2)](https://travis-ci.org/dotnet/BenchmarkDotNet) |
298+
| GitHub Actions | * | [![build](https://github.com/dotnet/BenchmarkDotNet/actions/workflows/build.yaml/badge.svg)](https://github.com/dotnet/BenchmarkDotNet/actions/workflows/build.yaml) |
300299

301300
## Contributions are welcome!
302301

appveyor.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#---------------------------------#
44

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

88
# branches to build
99
branches:
@@ -21,12 +21,16 @@ skip_tags: true
2121
# environment configuration #
2222
#---------------------------------#
2323

24-
os: Visual Studio 2019
24+
os: Visual Studio 2022
2525

2626
# scripts that are called at very beginning, before repo cloning
2727
init:
2828
- git config --global core.autocrlf input
2929

30+
# add Visual C++ toolset to $path so NativeAOT tests can build native executables
31+
before_build:
32+
- call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
33+
3034
#---------------------------------#
3135
# build configuration #
3236
#---------------------------------#

azure-pipelines.Ubuntu.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ jobs:
1111
- template: build/azure-pipelines.job.template.yml
1212
parameters:
1313
name: Ubuntu
14-
vmImage: 'ubuntu-16.04'
14+
vmImage: 'ubuntu-20.04'
1515
scriptFileName: ./build.sh
1616
initialization:
1717
- bash: |
1818
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
19-
sudo apt-add-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main"
19+
sudo apt-add-repository "deb https://apt.llvm.org/focal/ llvm-toolchain-focal-9 main"
2020
sudo apt-get update
2121
- bash: |
22-
sudo apt-get install cmake clang-3.9 libicu55 uuid-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev
22+
sudo apt-get install cmake clang-9 libicu66 uuid-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev

azure-pipelines.macOS.yml

Lines changed: 2 additions & 2 deletions
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.14'
15-
scriptFileName: ./build.sh
14+
vmImage: 'macOS-10.15'
15+
scriptFileName: ./build.sh

0 commit comments

Comments
 (0)