Skip to content

Commit efc1ab7

Browse files
author
Bart Koelman
authored
Repaired the broken benchmarks project (#677)
Removed `SortService.CheckIfProcessed()`, which was supposed to disallow multiple sort parameters. But it never worked. For example, if you pass `http://host/path?sort=a&sort=b`, it gets translated by `Microsoft.AspNetCore.Http.QueryCollection` into value "a,b". The check prevented to run benchmarks multiple times. Also reactivated the build flag on all combinations of Platform/Configuration in Solution Configuration Manager for all projects. Removed some benchmarks, for which no equivalent code exists anymore. But kept the benchmark on namespace-from-path extraction (and optimized a bit), because it nicely shows the perf difference between using strings and `ReadOnlySpan<char>`. Also deleted old output markdown files from source control, as they differ per machine. Finally, the stats from my laptop: | Method | Mean | Error | StdDev | |------------------------ |---------:|----------:|----------:| | DeserializeSimpleObject | 7.684 us | 0.0692 us | 0.0578 us | | Method | Mean | Error | StdDev | |---------------------- |---------:|----------:|----------:| | SerializeSimpleObject | 7.871 us | 0.1011 us | 0.0946 us | | Method | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated | |--------------- |-------------:|-----------:|-----------:|-------------:|----------:|---------:|------:|-----------:| | AscendingSort | 2.680 us | 0.0211 us | 0.0449 us | 2.663 us | 1.0185 | 0.0076 | - | 4.7 KB | | DescendingSort | 2.728 us | 0.0258 us | 0.0527 us | 2.739 us | 1.0262 | 0.0076 | - | 4.73 KB | | ComplexQuery | 3,258.409 us | 25.9838 us | 54.8087 us | 3,230.178 us | 1148.4375 | 281.2500 | - | 5308.28 KB | | Method | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated | |------------------ |----------:|---------:|---------:|----------:|-------:|------:|------:|----------:| | UsingStringSplit | 244.66 ns | 0.783 ns | 1.702 ns | 244.60 ns | 0.1493 | - | - | 704 B | | UsingReadOnlySpan | 69.72 ns | 2.638 ns | 5.680 ns | 66.09 ns | 0.0288 | - | - | 136 B |
1 parent 3763338 commit efc1ab7

23 files changed

+346
-652
lines changed

JsonApiDotnetCore.sln

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonApiDotNetCore", "src\Js
4141
EndProject
4242
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GettingStarted", "src\Examples\GettingStarted\GettingStarted.csproj", "{067FFD7A-C66B-473D-8471-37F5C95DF61C}"
4343
EndProject
44-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrationTests", "test\IntegrationTests\IntegrationTests.csproj", "{CEB08B86-6BF1-4227-B20F-45AE9C1CC6D9}"
44+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests", "test\IntegrationTests\IntegrationTests.csproj", "{CEB08B86-6BF1-4227-B20F-45AE9C1CC6D9}"
4545
EndProject
4646
Global
4747
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -56,11 +56,15 @@ Global
5656
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5757
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
5858
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|x64.ActiveCfg = Debug|Any CPU
59+
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|x64.Build.0 = Debug|Any CPU
5960
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|x86.ActiveCfg = Debug|Any CPU
61+
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Debug|x86.Build.0 = Debug|Any CPU
6062
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
6163
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|Any CPU.Build.0 = Release|Any CPU
6264
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|x64.ActiveCfg = Release|Any CPU
65+
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|x64.Build.0 = Release|Any CPU
6366
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|x86.ActiveCfg = Release|Any CPU
67+
{CAF331F8-9255-4D72-A1A8-A54141E99F1E}.Release|x86.Build.0 = Release|Any CPU
6468
{4F15A8F8-5BC6-45A1-BC51-03F921B726A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6569
{4F15A8F8-5BC6-45A1-BC51-03F921B726A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
6670
{4F15A8F8-5BC6-45A1-BC51-03F921B726A4}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -98,6 +102,7 @@ Global
98102
{03032A2F-664D-4DD8-A82F-AD8A482EDD85}.Release|x86.ActiveCfg = Release|Any CPU
99103
{03032A2F-664D-4DD8-A82F-AD8A482EDD85}.Release|x86.Build.0 = Release|Any CPU
100104
{DF0FCFB2-CB12-44BA-BBB5-1BE0BCFCD14C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
105+
{DF0FCFB2-CB12-44BA-BBB5-1BE0BCFCD14C}.Debug|Any CPU.Build.0 = Debug|Any CPU
101106
{DF0FCFB2-CB12-44BA-BBB5-1BE0BCFCD14C}.Debug|x64.ActiveCfg = Debug|Any CPU
102107
{DF0FCFB2-CB12-44BA-BBB5-1BE0BCFCD14C}.Debug|x64.Build.0 = Debug|Any CPU
103108
{DF0FCFB2-CB12-44BA-BBB5-1BE0BCFCD14C}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -111,11 +116,15 @@ Global
111116
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
112117
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
113118
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|x64.ActiveCfg = Debug|Any CPU
119+
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|x64.Build.0 = Debug|Any CPU
114120
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|x86.ActiveCfg = Debug|Any CPU
121+
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Debug|x86.Build.0 = Debug|Any CPU
115122
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
116123
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|Any CPU.Build.0 = Release|Any CPU
117124
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|x64.ActiveCfg = Release|Any CPU
125+
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|x64.Build.0 = Release|Any CPU
118126
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|x86.ActiveCfg = Release|Any CPU
127+
{C916EBDA-3429-4FEA-AFB3-DF7CA32A8C6A}.Release|x86.Build.0 = Release|Any CPU
119128
{789085E1-048F-4996-B600-791B9CA3A663}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
120129
{789085E1-048F-4996-B600-791B9CA3A663}.Debug|Any CPU.Build.0 = Debug|Any CPU
121130
{789085E1-048F-4996-B600-791B9CA3A663}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -143,11 +152,15 @@ Global
143152
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
144153
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
145154
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|x64.ActiveCfg = Debug|Any CPU
155+
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|x64.Build.0 = Debug|Any CPU
146156
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|x86.ActiveCfg = Debug|Any CPU
157+
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Debug|x86.Build.0 = Debug|Any CPU
147158
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
148159
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|Any CPU.Build.0 = Release|Any CPU
149160
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|x64.ActiveCfg = Release|Any CPU
161+
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|x64.Build.0 = Release|Any CPU
150162
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|x86.ActiveCfg = Release|Any CPU
163+
{21D27239-138D-4604-8E49-DCBE41BCE4C8}.Release|x86.Build.0 = Release|Any CPU
151164
{067FFD7A-C66B-473D-8471-37F5C95DF61C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
152165
{067FFD7A-C66B-473D-8471-37F5C95DF61C}.Debug|Any CPU.Build.0 = Debug|Any CPU
153166
{067FFD7A-C66B-473D-8471-37F5C95DF61C}.Debug|x64.ActiveCfg = Debug|Any CPU

benchmarks/.gitignore

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.JsonApiContext.PathIsRelationship_Benchmarks-report-github.md

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.LinkBuilder.LinkBuilder_GetNamespaceFromPath_Benchmarks-report-github.md

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.Query.QueryParser_Benchmarks-report-github.md

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.RequestMiddleware.ContainsMediaTypeParameters_Benchmarks-report-github.md

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.Serialization.JsonApiDeserializer_Benchmarks-report-github.md

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

benchmarks/BenchmarkDotNet.Artifacts/results/Benchmarks.Serialization.JsonApiSerializer_Benchmarks-report-github.md

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

0 commit comments

Comments
 (0)