From a870e830e51959f4408119bc8739afa6b8bd2928 Mon Sep 17 00:00:00 2001 From: Adam Sitnik Date: Wed, 22 May 2019 18:02:23 +0200 Subject: [PATCH 1/5] update BenchmarkDotNet to latest version to take advantage of improvements --- .../BenchmarkDotNet.Extensions.csproj | 4 ++-- src/harness/BenchmarkDotNet.Extensions/RecommendedConfig.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj b/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj index 3c6e87e0d1c..752407e0890 100644 --- a/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj +++ b/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/src/harness/BenchmarkDotNet.Extensions/RecommendedConfig.cs b/src/harness/BenchmarkDotNet.Extensions/RecommendedConfig.cs index df556acd4d8..a308b317ea3 100644 --- a/src/harness/BenchmarkDotNet.Extensions/RecommendedConfig.cs +++ b/src/harness/BenchmarkDotNet.Extensions/RecommendedConfig.cs @@ -18,6 +18,7 @@ public static IConfig Create(DirectoryInfo artifactsPath, ImmutableHashSet Date: Mon, 27 May 2019 17:15:19 +0200 Subject: [PATCH 2/5] use FullNameProvider.GetBenchmarkName without reflection since it's public now --- src/harness/BenchmarkDotNet.Extensions/PerfLabExporter.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/harness/BenchmarkDotNet.Extensions/PerfLabExporter.cs b/src/harness/BenchmarkDotNet.Extensions/PerfLabExporter.cs index f54bf353047..c4736f578e7 100644 --- a/src/harness/BenchmarkDotNet.Extensions/PerfLabExporter.cs +++ b/src/harness/BenchmarkDotNet.Extensions/PerfLabExporter.cs @@ -30,14 +30,10 @@ public override void ExportToLog(Summary summary, ILogger logger) if (reporter == null) // not running in the perf lab return; - var nameDelegate = typeof(BenchmarkCase).Assembly.GetType("BenchmarkDotNet.Exporters.FullNameProvider").GetMethod("GetBenchmarkName", BindingFlags.Static | BindingFlags.NonPublic); - - foreach (var report in summary.Reports) { var test = new Test(); - //test.Name = FullNameProvider.GetBenchmarkName(report.BenchmarkCase); - test.Name = (string)nameDelegate.Invoke(null, new[] { report.BenchmarkCase }); + test.Name = FullNameProvider.GetBenchmarkName(report.BenchmarkCase); test.Categories = report.BenchmarkCase.Descriptor.Categories; var results = from result in report.AllMeasurements where result.IterationMode == Engines.IterationMode.Workload && result.IterationStage == Engines.IterationStage.Result From 531e2815bcd44523c4c085c5c779e776066223a3 Mon Sep 17 00:00:00 2001 From: Adam Sitnik Date: Wed, 14 Aug 2019 19:30:08 +0200 Subject: [PATCH 3/5] update BDN to version that supports .NET Core 5.0 --- .../BenchmarkDotNet.Extensions.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj b/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj index 53d5ace8e43..da6b66dcaf7 100644 --- a/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj +++ b/src/harness/BenchmarkDotNet.Extensions/BenchmarkDotNet.Extensions.csproj @@ -6,8 +6,8 @@ - - + + From d55da116712419d35d5a33bcc9221afcc2e78bb2 Mon Sep 17 00:00:00 2001 From: Adam Sitnik Date: Wed, 14 Aug 2019 19:33:28 +0200 Subject: [PATCH 4/5] add 5.0 to the matrix to make sure that this PR really fixes to 5.0 problem --- README.md | 5 +++++ azure-pipelines.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index a6803201fbb..e1327be3578 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ This project has adopted the code of conduct defined by the Contributor Covenant | Framework | Windows RS4 x64 | Windows RS4 x86 | Ubuntu 16.04 x64 | Ubuntu 16.04 ARM64 | | :-------- | :-----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | +| Core 5.0 | [![micro_windows_RS4_x64_netcoreapp5.0_icon]][micro_windows_RS4_x64_netcoreapp5.0_status] | [![micro_windows_RS4_x86_netcoreapp5.0_icon]][micro_windows_RS4_x86_netcoreapp5.0_status] | [![micro_ubuntu_1604_x64_netcoreapp5.0_icon]][micro_ubuntu_1604_x64_netcoreapp5.0_status] | Disabled | | Core 3.0 | [![micro_windows_RS4_x64_netcoreapp3.0_icon]][micro_windows_RS4_x64_netcoreapp3.0_status] | [![micro_windows_RS4_x86_netcoreapp3.0_icon]][micro_windows_RS4_x86_netcoreapp3.0_status] | [![micro_ubuntu_1604_x64_netcoreapp3.0_icon]][micro_ubuntu_1604_x64_netcoreapp3.0_status] | Disabled | | Core 2.2 | [![micro_windows_RS4_x64_netcoreapp2.2_icon]][micro_windows_RS4_x64_netcoreapp2.2_status] | | [![micro_ubuntu_1604_x64_netcoreapp2.2_icon]][micro_ubuntu_1604_x64_netcoreapp2.2_status] | N/A | | Core 2.1 | [![micro_windows_RS4_x64_netcoreapp2.1_icon]][micro_windows_RS4_x64_netcoreapp2.1_status] | | [![micro_ubuntu_1604_x64_netcoreapp2.1_icon]][micro_ubuntu_1604_x64_netcoreapp2.1_status] | N/A | @@ -53,6 +54,8 @@ This project has adopted the code of conduct defined by the Contributor Covenant [//]: # (These are the micro links) [//]: # (These are the windows x64 links) +[micro_windows_RS4_x64_netcoreapp5.0_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=windows%20RS4%20x64%20micro&configuration=windows%20RS4%20x64%20micro%20netcoreapp5.0 +[micro_windows_RS4_x64_netcoreapp5.0_icon]: https://dev.azure.com/dnceng/public/_apis/build/status/dotnet/performance/performance-ci?branchName=master&jobName=windows%20RS4%20x64%20micro&configuration=windows%20RS4%20x64%20micro%20netcoreapp5.0 [micro_windows_RS4_x64_netcoreapp3.0_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=windows%20RS4%20x64%20micro&configuration=windows%20RS4%20x64%20micro%20netcoreapp3.0 [micro_windows_RS4_x64_netcoreapp3.0_icon]: https://dev.azure.com/dnceng/public/_apis/build/status/dotnet/performance/performance-ci?branchName=master&jobName=windows%20RS4%20x64%20micro&configuration=windows%20RS4%20x64%20micro%20netcoreapp3.0 [micro_windows_RS4_x64_netcoreapp2.2_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=windows%20RS4%20x64%20micro&configuration=windows%20RS4%20x64%20micro%20netcoreapp2.2 @@ -68,6 +71,8 @@ This project has adopted the code of conduct defined by the Contributor Covenant [micro_windows_RS4_x86_netcoreapp3.0_icon]: https://dev.azure.com/dnceng/public/_apis/build/status/dotnet/performance/performance-ci?branchName=master&jobName=windows%20RS4%20x86%20micro&configuration=windows%20RS4%20x86%20micro%20netcoreapp3.0 [//]: # (These are the ubuntu x64 links) +[micro_ubuntu_1604_x64_netcoreapp5.0_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=ubuntu%201604%20x64%20micro&configuration=ubuntu%201604%20x64%20micro%20netcoreapp5.0 +[micro_ubuntu_1604_x64_netcoreapp5.0_icon]: https://dev.azure.com/dnceng/public/_apis/build/status/dotnet/performance/performance-ci?branchName=master&jobName=ubuntu%201604%20x64%20micro&configuration=ubuntu%201604%20x64%20micro%20netcoreapp5.0 [micro_ubuntu_1604_x64_netcoreapp3.0_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=ubuntu%201604%20x64%20micro&configuration=ubuntu%201604%20x64%20micro%20netcoreapp3.0 [micro_ubuntu_1604_x64_netcoreapp3.0_icon]: https://dev.azure.com/dnceng/public/_apis/build/status/dotnet/performance/performance-ci?branchName=master&jobName=ubuntu%201604%20x64%20micro&configuration=ubuntu%201604%20x64%20micro%20netcoreapp3.0 [micro_ubuntu_1604_x64_netcoreapp2.2_status]: https://dev.azure.com/dnceng/public/_build/latest?definitionId=271&branchName=master&jobName=ubuntu%201604%20x64%20micro&configuration=ubuntu%201604%20x64%20micro%20netcoreapp2.2 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index cb21cb92437..b537315521b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -62,6 +62,7 @@ jobs: csproj: src\benchmarks\micro\MicroBenchmarks.csproj runCategories: 'coreclr corefx' frameworks: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks + - netcoreapp5.0 - netcoreapp3.0 - netcoreapp2.2 - netcoreapp2.1 @@ -135,6 +136,7 @@ jobs: csproj: src/benchmarks/micro/MicroBenchmarks.csproj runCategories: 'coreclr corefx' frameworks: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks + - netcoreapp5.0 - netcoreapp3.0 - netcoreapp2.2 - netcoreapp2.1 From be935a153c787cdbc9428c0cdd291a4eeedb875f Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Wed, 14 Aug 2019 10:50:18 -0700 Subject: [PATCH 5/5] Add private jobs for microbenchmarks for netcoreapp5.0 --- azure-pipelines.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b537315521b..09eee19e4f2 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -188,7 +188,8 @@ jobs: csproj: src\benchmarks\micro\MicroBenchmarks.csproj runCategories: 'coreclr corefx' benchviewCategory: 'coreclr' - frameworks: # for private jobs we want to benchmark .NET Core 3.0 only + frameworks: # for private jobs we want to benchmark .NET Core 3.0 and 5.0 only + - netcoreapp5.0 - netcoreapp3.0 # Windows x86 micro benchmarks @@ -203,7 +204,8 @@ jobs: csproj: src\benchmarks\micro\MicroBenchmarks.csproj runCategories: 'coreclr corefx' benchviewCategory: 'coreclr' - frameworks: # for private jobs we want to benchmark .NET Core 3.0 only + frameworks: # for private jobs we want to benchmark .NET Core 3.0 and 5.0 only + - netcoreapp5.0 - netcoreapp3.0 # Windows x64 ML.NET benchmarks @@ -249,7 +251,8 @@ jobs: csproj: src/benchmarks/micro/MicroBenchmarks.csproj runCategories: 'coreclr corefx' benchviewCategory: 'coreclr' - frameworks: # for private jobs we want to benchmark .NET Core 3.0 only + frameworks: # for private jobs we want to benchmark .NET Core 3.0 and 5.0 only + - netcoreapp5.0 - netcoreapp3.0 # Ubuntu 1804 x64 ML.NET benchmarks