Skip to content

Commit 340d161

Browse files
Add micro-benchmark validation (#29695)
1 parent 44c3c33 commit 340d161

File tree

204 files changed

+180
-143
lines changed

Some content is hidden

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

204 files changed

+180
-143
lines changed

AspNetCore.sln

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -619,9 +619,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpAbstractions.SampleApp"
619619
EndProject
620620
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities.Tests", "src\Http\WebUtilities\test\Microsoft.AspNetCore.WebUtilities.Tests.csproj", "{F6BE35A7-1D5C-416B-8B32-61CAA2A95FF0}"
621621
EndProject
622-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Performance", "src\Http\Http\perf\Microsoft.AspNetCore.Http.Performance.csproj", "{C713DCA1-B36D-44BD-ACFA-F562782AD40E}"
622+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Microbenchmarks", "src\Http\Http\perf\Microbenchmarks\Microsoft.AspNetCore.Http.Microbenchmarks.csproj", "{C713DCA1-B36D-44BD-ACFA-F562782AD40E}"
623623
EndProject
624-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Performance", "src\Http\Routing\perf\Microsoft.AspNetCore.Routing.Performance.csproj", "{A2701184-BD48-4B72-AA6E-8DD1DE2F217F}"
624+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Microbenchmarks", "src\Http\Routing\perf\Microbenchmarks\Microsoft.AspNetCore.Routing.Microbenchmarks.csproj", "{A2701184-BD48-4B72-AA6E-8DD1DE2F217F}"
625625
EndProject
626626
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{17DD5861-0635-46D0-84BA-6B163150AA4F}"
627627
EndProject
@@ -633,7 +633,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Ro
633633
EndProject
634634
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{E7CADFE4-CDD0-4DE3-90ED-7184A969F47B}"
635635
EndProject
636-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities.Performance", "src\Http\WebUtilities\perf\Microsoft.AspNetCore.WebUtilities.Performance\Microsoft.AspNetCore.WebUtilities.Performance.csproj", "{822FF16C-A4E0-40A0-AE65-530752575261}"
636+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities.Microbenchmarks", "src\Http\WebUtilities\perf\Microbenchmarks\Microsoft.AspNetCore.WebUtilities.Microbenchmarks.csproj", "{822FF16C-A4E0-40A0-AE65-530752575261}"
637637
EndProject
638638
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Metadata", "Metadata", "{71DE18B5-87F9-4D03-89BB-C3E243576F92}"
639639
EndProject
@@ -801,7 +801,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Locali
801801
EndProject
802802
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Localization.Routing.Tests", "src\Middleware\Localization.Routing\test\Microsoft.AspNetCore.Localization.Routing.Tests.csproj", "{99CB7560-3B6F-447B-880A-C5A53F1E56F9}"
803803
EndProject
804-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCompression.Performance", "src\Middleware\ResponseCompression\perf\Microsoft.AspNetCore.ResponseCompression.Performance.csproj", "{605D0C19-6E99-4A73-B336-1AD700AE93C0}"
804+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCompression.Microbenchmarks", "src\Middleware\ResponseCompression\perf\Microbenchmarks\Microsoft.AspNetCore.ResponseCompression.Microbenchmarks.csproj", "{605D0C19-6E99-4A73-B336-1AD700AE93C0}"
805805
EndProject
806806
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ConformanceTests", "ConformanceTests", "{73BC406B-4D98-4BE0-A756-19F0F3D2B587}"
807807
EndProject
@@ -934,7 +934,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorPagesWebSite", "src\Mv
934934
EndProject
935935
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{CA6DD42B-2DBC-4061-91E8-C91FA8F4C410}"
936936
EndProject
937-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Performance", "src\Mvc\benchmarks\Microsoft.AspNetCore.Mvc.Performance\Microsoft.AspNetCore.Mvc.Performance.csproj", "{199639E9-0FAA-49C4-A75F-95EE71F32CC0}"
937+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Microbenchmarks", "src\Mvc\perf\Microbenchmarks\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.Microbenchmarks.csproj", "{199639E9-0FAA-49C4-A75F-95EE71F32CC0}"
938938
EndProject
939939
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorBuildWebSite", "src\Mvc\test\WebSites\RazorBuildWebSite\RazorBuildWebSite.csproj", "{F634FAC8-1CE5-4AD2-8A8B-92CFBB127D3A}"
940940
EndProject
@@ -954,7 +954,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mvc.Api.Analyzers.Test", "s
954954
EndProject
955955
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Api.Analyzers", "src\Mvc\Mvc.Api.Analyzers\src\Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj", "{72879779-4CAC-4CB0-A052-FF60EB386B7A}"
956956
EndProject
957-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Performance.Views", "src\Mvc\benchmarks\Microsoft.AspNetCore.Mvc.Performance.Views\Microsoft.AspNetCore.Mvc.Performance.Views.csproj", "{5BD69C96-623F-427B-9AAF-67C0817A9A9A}"
957+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Views.Microbenchmarks", "src\Mvc\perf\Microbenchmarks\Microsoft.AspNetCore.Mvc.Views\Microsoft.AspNetCore.Mvc.Views.Microbenchmarks.csproj", "{5BD69C96-623F-427B-9AAF-67C0817A9A9A}"
958958
EndProject
959959
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GenericHostWebSite", "src\Mvc\test\WebSites\GenericHostWebSite\GenericHostWebSite.csproj", "{D10BA44E-219B-4528-98F5-0CB0FCF17017}"
960960
EndProject
@@ -1066,7 +1066,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorSyntaxGenerator", "src
10661066
EndProject
10671067
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{D510860C-B2DA-41D3-9137-81B029312E71}"
10681068
EndProject
1069-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Performance", "src\Razor\perf\Microsoft.AspNetCore.Razor.Performance\Microsoft.AspNetCore.Razor.Performance.csproj", "{8ED505A5-A33A-401E-89BA-3AED7B73DD6A}"
1069+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Microbenchmarks", "src\Razor\perf\Microbenchmarks\Microsoft.AspNetCore.Razor.Microbenchmarks.csproj", "{8ED505A5-A33A-401E-89BA-3AED7B73DD6A}"
10701070
EndProject
10711071
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{06C916C7-67BF-45DC-9D0B-CEEF0C731451}"
10721072
EndProject
@@ -1144,7 +1144,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authen
11441144
EndProject
11451145
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{966E6A8A-4D9C-4B9E-92DB-06F5144F5DC8}"
11461146
EndProject
1147-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Security.Performance", "src\Security\benchmarks\Microsoft.AspNetCore.Security.Performance\Microsoft.AspNetCore.Security.Performance.csproj", "{9819CE5A-0E8F-42C4-B628-F6B3A1B2550F}"
1147+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Security.Microbenchmarks", "src\Security\perf\Microbenchmarks\Microsoft.AspNetCore.Security.Microbenchmarks.csproj", "{9819CE5A-0E8F-42C4-B628-F6B3A1B2550F}"
11481148
EndProject
11491149
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Negotiate", "Negotiate", "{3FE077EF-DD37-4652-B71C-3174D4C485E2}"
11501150
EndProject
@@ -1304,7 +1304,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NativeIISSample", "src\Serv
13041304
EndProject
13051305
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{ABC4EF1D-3525-41A9-929D-0FF7CEED4DDB}"
13061306
EndProject
1307-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IIS.Performance", "src\Servers\IIS\IIS\benchmarks\IIS.Performance\IIS.Performance.csproj", "{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}"
1307+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IIS.Microbenchmarks", "src\Servers\IIS\IIS\perf\Microbenchmarks\IIS.Microbenchmarks.csproj", "{65EC29AD-91CA-49BA-B1FC-D3DF127BE887}"
13081308
EndProject
13091309
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IIS.FunctionalTests", "src\Servers\IIS\IIS\test\IIS.FunctionalTests\IIS.FunctionalTests.csproj", "{45A023F9-C7E7-42CA-968B-5FCE9EC626BC}"
13101310
EndProject
@@ -1328,7 +1328,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server
13281328
EndProject
13291329
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{C69630AA-7BCC-401E-B0EE-AACFCF55F6A8}"
13301330
EndProject
1331-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Performance", "src\Servers\Kestrel\perf\Kestrel.Performance\Microsoft.AspNetCore.Server.Kestrel.Performance.csproj", "{51A02E3E-6932-479C-A287-CC6C3611B715}"
1331+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks", "src\Servers\Kestrel\perf\Microbenchmarks\Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks.csproj", "{51A02E3E-6932-479C-A287-CC6C3611B715}"
13321332
EndProject
13331333
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}"
13341334
EndProject
@@ -1616,6 +1616,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Compon
16161616
EndProject
16171617
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorWinFormsApp", "src\Components\WebView\Samples\BlazorWinFormsApp\BlazorWinFormsApp.csproj", "{CC740832-D268-47A3-9058-B9054F8397E2}"
16181618
EndProject
1619+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Abstractions.Microbenchmarks", "src\Http\Http.Abstractions\perf\Microbenchmarks\Microsoft.AspNetCore.Http.Abstractions.Microbenchmarks.csproj", "{3F752B48-2936-4FCA-B0DC-4AB0F788F897}"
1620+
EndProject
16191621
Global
16201622
GlobalSection(SolutionConfigurationPlatforms) = preSolution
16211623
Debug|Any CPU = Debug|Any CPU
@@ -7639,6 +7641,18 @@ Global
76397641
{CC740832-D268-47A3-9058-B9054F8397E2}.Release|x64.Build.0 = Release|Any CPU
76407642
{CC740832-D268-47A3-9058-B9054F8397E2}.Release|x86.ActiveCfg = Release|Any CPU
76417643
{CC740832-D268-47A3-9058-B9054F8397E2}.Release|x86.Build.0 = Release|Any CPU
7644+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
7645+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|Any CPU.Build.0 = Debug|Any CPU
7646+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|x64.ActiveCfg = Debug|Any CPU
7647+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|x64.Build.0 = Debug|Any CPU
7648+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|x86.ActiveCfg = Debug|Any CPU
7649+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Debug|x86.Build.0 = Debug|Any CPU
7650+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|Any CPU.ActiveCfg = Release|Any CPU
7651+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|Any CPU.Build.0 = Release|Any CPU
7652+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|x64.ActiveCfg = Release|Any CPU
7653+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|x64.Build.0 = Release|Any CPU
7654+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|x86.ActiveCfg = Release|Any CPU
7655+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897}.Release|x86.Build.0 = Release|Any CPU
76427656
EndGlobalSection
76437657
GlobalSection(SolutionProperties) = preSolution
76447658
HideSolutionNode = FALSE
@@ -8437,6 +8451,7 @@ Global
84378451
{D4E9A2C5-0838-42DF-BC80-C829C4C9137E} = {8B196DE0-F585-43D6-BE72-6F15BB4EB5E5}
84388452
{3BA297F8-1CA1-492D-AE64-A60B825D8501} = {D4E9A2C5-0838-42DF-BC80-C829C4C9137E}
84398453
{CC740832-D268-47A3-9058-B9054F8397E2} = {D3B76F4E-A980-45BF-AEA1-EA3175B0B5A1}
8454+
{3F752B48-2936-4FCA-B0DC-4AB0F788F897} = {DCBBDB52-4A49-4141-8F4D-81C0FFFB7BD5}
84408455
EndGlobalSection
84418456
GlobalSection(ExtensibilityGlobals) = postSolution
84428457
SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<IsBenchmarkProject Condition=" $(MSBuildProjectName.EndsWith('.Performance')) OR
2121
$(RepoRelativeProjectDir.Contains('perf')) OR
2222
$(RepoRelativeProjectDir.Contains('benchmarkapps')) ">true</IsBenchmarkProject>
23+
<IsMicrobenchmarksProject Condition=" $(MSBuildProjectName.EndsWith('.Microbenchmarks')) ">true</IsMicrobenchmarksProject>
2324
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>
2425
<IsUnitTestProject Condition=" '$(IsUnitTestProject)' == '' ">false</IsUnitTestProject>
2526
<IsUnitTestProject Condition=" '$(IsSpecificationTestProject)' != 'true' AND

Directory.Build.targets

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@
1515
'$(IsTestAssetProject)' == 'true' or
1616
'$(IsBenchmarkProject)' == 'true' or
1717
'$(IsSampleProject)' == 'true' or
18-
'$(IsSpecificationTestProject)' == 'true')">true</ExcludeFromBuild>
18+
'$(IsSpecificationTestProject)' == 'true' or
19+
'$(IsMicrobenchmarksProject)' == 'true')">true</ExcludeFromBuild>
1920
</PropertyGroup>
2021

2122
<PropertyGroup>
2223
<!-- Ignore API doc requirements for test assets -->
23-
<NoWarn Condition="'$(IsTestAssetProject)' == 'true' or '$(IsSampleProject)' == 'true' or '$(IsBenchmarkProject)' == 'true'">$(NoWarn);CS1591</NoWarn>
24+
<NoWarn Condition="'$(IsTestAssetProject)' == 'true' or '$(IsSampleProject)' == 'true' or '$(IsBenchmarkProject)' == 'true' or
25+
'$(IsMicrobenchmarksProject)' == 'true'">$(NoWarn);CS1591</NoWarn>
2426
</PropertyGroup>
2527

2628
<PropertyGroup Label="Resx settings">
@@ -60,7 +62,8 @@
6062
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.csproj' ">
6163
<PackageId Condition=" '$(PackageId)' == '' ">$(AssemblyName)</PackageId>
6264
<IsPackable
63-
Condition="'$(IsPackable)' == '' AND ( '$(IsTestProject)' == 'true' OR '$(IsTestAssetProject)' == 'true' OR '$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' ) ">false</IsPackable>
65+
Condition="'$(IsPackable)' == '' AND ( '$(IsTestProject)' == 'true' OR '$(IsTestAssetProject)' == 'true' OR
66+
'$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' OR '$(IsMicrobenchmarksProject)' == 'true') ">false</IsPackable>
6467
</PropertyGroup>
6568

6669
<Import Project="eng\Baseline.Designer.props" />
@@ -109,7 +112,8 @@
109112
'$(IsSampleProject)' != 'true' AND
110113
'$(IsSpecificationTestProject)' != 'true' AND
111114
'$(IsTestAssetProject)' != 'true' AND
112-
'$(IsTestProject)' != 'true' ">true</IsImplementationProject>
115+
'$(IsTestProject)' != 'true' AND
116+
'$(IsMicrobenchmarksProject)' != 'true' ">true</IsImplementationProject>
113117

114118
<!-- This determines whether a project is available as a <Reference> to other projects in this repo. -->
115119
<IsProjectReferenceProvider Condition=" '$(IsProjectReferenceProvider)' == '' AND

NuGet.config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
<add key="dotnet31-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
1515
<!-- Used for the Rich Navigation indexing task -->
1616
<add key="richnav" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-buildservices/nuget/v3/index.json" />
17+
<!-- Used for BenchmarkDotNet prerelease packages -->
18+
<add key="benchmark-dotnet-prerelease" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/benchmark-dotnet-prerelease/nuget/v3/index.json" />
1719
</packageSources>
1820
<disabledPackageSources>
1921
<clear />

eng/Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<!-- Exclude the benchmarks because they use <PackageReference>. -->
3939
<ProjectToExclude Include="
4040
$(RepoRoot)src\Components\benchmarkapps\BlazingPizza.Server\**\*.csproj;
41-
$(RepoRoot)src\Mvc\benchmarkapps\**\*.csproj;
41+
$(RepoRoot)src\Mvc\perf\**\*.csproj;
4242
$(RepoRoot)src\Servers\Kestrel\perf\PlatformBenchmarks\**\*.csproj;
4343
$(RepoRoot)src\SignalR\perf\benchmarkapps\**\*.csproj;
4444
" />

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
<MicrosoftAspNetCoreAzureAppServicesSiteExtension50x86Version>$(MicrosoftAspNetCoreAzureAppServicesSiteExtension50Version)</MicrosoftAspNetCoreAzureAppServicesSiteExtension50x86Version>
222222
<!-- 3rd party dependencies -->
223223
<AngleSharpVersion>0.9.9</AngleSharpVersion>
224-
<BenchmarkDotNetVersion>0.12.1</BenchmarkDotNetVersion>
224+
<BenchmarkDotNetVersion>0.12.1.1466</BenchmarkDotNetVersion>
225225
<CastleCoreVersion>4.2.1</CastleCoreVersion>
226226
<CommandLineParserVersion>2.3.0</CommandLineParserVersion>
227227
<FSharpCoreVersion>4.2.1</FSharpCoreVersion>

eng/targets/CSharp.Common.targets

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
<NoWarn Condition=" '$(IsTestProject)' == 'true' OR
2121
'$(IsTestAssetProject)' == 'true' OR
2222
'$(ISBenchmarkProject)' == 'true' OR
23-
'$(IsSampleProject)' == 'true' ">$(NoWarn);CA1416</NoWarn>
23+
'$(IsSampleProject)' == 'true' OR
24+
'$(IsMicrobenchmarksProject)' == 'true'">$(NoWarn);CA1416</NoWarn>
2425
</PropertyGroup>
2526

2627
<ItemGroup Condition=" '$(DotNetBuildFromSource)' != 'true' AND $(AddPublicApiAnalyzers) ">
@@ -97,6 +98,17 @@
9798
</When>
9899
</Choose>
99100

101+
<Target Name="ValidateBenchmarks" BeforeTargets="Test" Condition="'$(IsMicrobenchmarksProject)' == 'true' AND '$(SkipMicrobenchmarksValidation)' != 'true'">
102+
<Message Text="%0ARunning benchmark validation for:%0A$(MSBuildProjectName)%0A"
103+
Importance="High" />
104+
105+
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="GetTargetPath">
106+
<Output TaskParameter="TargetOutputs" PropertyName="ExecPath" />
107+
</MSBuild>
108+
109+
<Exec Command="dotnet $(ExecPath) -f * --validate-fast" IgnoreStandardErrorWarningFormat="true" StandardOutputImportance="low" />
110+
</Target>
111+
100112
<Import Project="Packaging.targets" />
101113
<Import Project="ResolveReferences.targets" />
102114

src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Microsoft.AspNetCore.Http.HttpResponse</Description>
2626
</ItemGroup>
2727

2828
<ItemGroup>
29-
<InternalsVisibleTo Include="Microsoft.AspNetCore.Http.Microbenchmarks" />
29+
<InternalsVisibleTo Include="Microsoft.AspNetCore.Http.Abstractions.Microbenchmarks" />
3030
</ItemGroup>
3131

3232
</Project>

src/Http/HttpAbstractions.slnf

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"solution": {
33
"path": "..\\..\\AspNetCore.sln",
44
"projects": [
@@ -25,15 +25,17 @@
2525
"src\\Http\\Owin\\test\\Microsoft.AspNetCore.Owin.Tests.csproj",
2626
"src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
2727
"src\\Http\\Routing.Abstractions\\test\\Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj",
28-
"src\\Http\\Routing\\perf\\Microsoft.AspNetCore.Routing.Performance.csproj",
28+
"src\\Http\\Http\\perf\\Microbenchmarks\\Microsoft.AspNetCore.Http.Microbenchmarks.csproj",
29+
"src\\Http\\Http.Abstractions\\perf\\Microbenchmarks\\Microsoft.AspNetCore.Http.Abstractions.Microbenchmarks.csproj",
30+
"src\\Http\\Routing\\perf\\Microbenchmarks\\Microsoft.AspNetCore.Routing.Microbenchmarks.csproj",
2931
"src\\Http\\Routing\\samples\\MapActionSample\\MapActionSample.csproj",
3032
"src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
3133
"src\\Http\\Routing\\test\\FunctionalTests\\Microsoft.AspNetCore.Routing.FunctionalTests.csproj",
3234
"src\\Http\\Routing\\test\\UnitTests\\Microsoft.AspNetCore.Routing.Tests.csproj",
3335
"src\\Http\\Routing\\test\\testassets\\Benchmarks\\Benchmarks.csproj",
3436
"src\\Http\\Routing\\test\\testassets\\RoutingSandbox\\RoutingSandbox.csproj",
3537
"src\\Http\\Routing\\test\\testassets\\RoutingWebSite\\RoutingWebSite.csproj",
36-
"src\\Http\\WebUtilities\\perf\\Microsoft.AspNetCore.WebUtilities.Performance\\Microsoft.AspNetCore.WebUtilities.Performance.csproj",
38+
"src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
3739
"src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
3840
"src\\Http\\WebUtilities\\test\\Microsoft.AspNetCore.WebUtilities.Tests.csproj",
3941
"src\\Http\\samples\\SampleApp\\HttpAbstractions.SampleApp.csproj",
@@ -48,7 +50,8 @@
4850
"src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
4951
"src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
5052
"src\\Testing\\src\\Microsoft.AspNetCore.Testing.csproj",
51-
"src\\WebEncoders\\src\\Microsoft.Extensions.WebEncoders.csproj"
53+
"src\\WebEncoders\\src\\Microsoft.Extensions.WebEncoders.csproj",
54+
"src\\Http\\WebUtilities\\perf\\Microbenchmarks\\Microsoft.AspNetCore.WebUtilities.Microbenchmarks.csproj"
5255
]
5356
}
5457
}

0 commit comments

Comments
 (0)