Skip to content

Commit 4c9d0f9

Browse files
author
Bart Koelman
committed
Annotated benchmark project
- Removed LinkBuilderGetNamespaceFromPathBenchmarks, we don't have such code anymore - Cleanup query string benchmark
1 parent 2640675 commit 4c9d0f9

14 files changed

+128
-298
lines changed

benchmarks/BenchmarkResource.cs

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

benchmarks/BenchmarkResourcePublicNames.cs

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

benchmarks/DependencyFactory.cs

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

benchmarks/Deserialization/DeserializationBenchmarkBase.cs

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#nullable disable
2-
31
using System;
42
using System.Collections.Generic;
53
using System.ComponentModel.Design;
@@ -23,7 +21,7 @@ public abstract class DeserializationBenchmarkBase
2321
protected DeserializationBenchmarkBase()
2422
{
2523
var options = new JsonApiOptions();
26-
IResourceGraph resourceGraph = new ResourceGraphBuilder(options, NullLoggerFactory.Instance).Add<ResourceA>().Build();
24+
IResourceGraph resourceGraph = new ResourceGraphBuilder(options, NullLoggerFactory.Instance).Add<IncomingResource>().Build();
2725
options.SerializerOptions.Converters.Add(new ResourceObjectConverter(resourceGraph));
2826
SerializerReadOptions = ((IJsonApiOptions)options).SerializerReadOptions;
2927

@@ -32,7 +30,7 @@ protected DeserializationBenchmarkBase()
3230
var resourceDefinitionAccessor = new ResourceDefinitionAccessor(resourceGraph, serviceContainer);
3331

3432
serviceContainer.AddService(typeof(IResourceDefinitionAccessor), resourceDefinitionAccessor);
35-
serviceContainer.AddService(typeof(IResourceDefinition<ResourceA, int>), new JsonApiResourceDefinition<ResourceA, int>(resourceGraph));
33+
serviceContainer.AddService(typeof(IResourceDefinition<IncomingResource, int>), new JsonApiResourceDefinition<IncomingResource, int>(resourceGraph));
3634

3735
// ReSharper disable once VirtualMemberCallInConstructor
3836
JsonApiRequest request = CreateJsonApiRequest(resourceGraph);
@@ -58,7 +56,7 @@ protected DeserializationBenchmarkBase()
5856
protected abstract JsonApiRequest CreateJsonApiRequest(IResourceGraph resourceGraph);
5957

6058
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
61-
public sealed class ResourceA : Identifiable<int>
59+
public sealed class IncomingResource : Identifiable<int>
6260
{
6361
[Attr]
6462
public bool Attribute01 { get; set; }
@@ -76,7 +74,7 @@ public sealed class ResourceA : Identifiable<int>
7674
public float? Attribute05 { get; set; }
7775

7876
[Attr]
79-
public string Attribute06 { get; set; }
77+
public string Attribute06 { get; set; } = null!;
8078

8179
[Attr]
8280
public DateTime? Attribute07 { get; set; }
@@ -91,34 +89,34 @@ public sealed class ResourceA : Identifiable<int>
9189
public DayOfWeek Attribute10 { get; set; }
9290

9391
[HasOne]
94-
public ResourceA Single1 { get; set; }
92+
public IncomingResource Single1 { get; set; } = null!;
9593

9694
[HasOne]
97-
public ResourceA Single2 { get; set; }
95+
public IncomingResource Single2 { get; set; } = null!;
9896

9997
[HasOne]
100-
public ResourceA Single3 { get; set; }
98+
public IncomingResource Single3 { get; set; } = null!;
10199

102100
[HasOne]
103-
public ResourceA Single4 { get; set; }
101+
public IncomingResource Single4 { get; set; } = null!;
104102

105103
[HasOne]
106-
public ResourceA Single5 { get; set; }
104+
public IncomingResource Single5 { get; set; } = null!;
107105

108106
[HasMany]
109-
public ISet<ResourceA> Multi1 { get; set; }
107+
public ISet<IncomingResource> Multi1 { get; set; } = null!;
110108

111109
[HasMany]
112-
public ISet<ResourceA> Multi2 { get; set; }
110+
public ISet<IncomingResource> Multi2 { get; set; } = null!;
113111

114112
[HasMany]
115-
public ISet<ResourceA> Multi3 { get; set; }
113+
public ISet<IncomingResource> Multi3 { get; set; } = null!;
116114

117115
[HasMany]
118-
public ISet<ResourceA> Multi4 { get; set; }
116+
public ISet<IncomingResource> Multi4 { get; set; } = null!;
119117

120118
[HasMany]
121-
public ISet<ResourceA> Multi5 { get; set; }
119+
public ISet<IncomingResource> Multi5 { get; set; } = null!;
122120
}
123121
}
124122
}

benchmarks/Deserialization/OperationsDeserializationBenchmarks.cs

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#nullable disable
2-
31
using System;
42
using System.Text.Json;
53
using BenchmarkDotNet.Attributes;
@@ -22,7 +20,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
2220
op = "add",
2321
data = new
2422
{
25-
type = "resourceAs",
23+
type = "incomingResources",
2624
lid = "a-1",
2725
attributes = new
2826
{
@@ -43,39 +41,39 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
4341
{
4442
data = new
4543
{
46-
type = "resourceAs",
44+
type = "incomingResources",
4745
id = "101"
4846
}
4947
},
5048
single2 = new
5149
{
5250
data = new
5351
{
54-
type = "resourceAs",
52+
type = "incomingResources",
5553
id = "102"
5654
}
5755
},
5856
single3 = new
5957
{
6058
data = new
6159
{
62-
type = "resourceAs",
60+
type = "incomingResources",
6361
id = "103"
6462
}
6563
},
6664
single4 = new
6765
{
6866
data = new
6967
{
70-
type = "resourceAs",
68+
type = "incomingResources",
7169
id = "104"
7270
}
7371
},
7472
single5 = new
7573
{
7674
data = new
7775
{
78-
type = "resourceAs",
76+
type = "incomingResources",
7977
id = "105"
8078
}
8179
},
@@ -85,7 +83,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
8583
{
8684
new
8785
{
88-
type = "resourceAs",
86+
type = "incomingResources",
8987
id = "201"
9088
}
9189
}
@@ -96,7 +94,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
9694
{
9795
new
9896
{
99-
type = "resourceAs",
97+
type = "incomingResources",
10098
id = "202"
10199
}
102100
}
@@ -107,7 +105,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
107105
{
108106
new
109107
{
110-
type = "resourceAs",
108+
type = "incomingResources",
111109
id = "203"
112110
}
113111
}
@@ -118,7 +116,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
118116
{
119117
new
120118
{
121-
type = "resourceAs",
119+
type = "incomingResources",
122120
id = "204"
123121
}
124122
}
@@ -129,7 +127,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
129127
{
130128
new
131129
{
132-
type = "resourceAs",
130+
type = "incomingResources",
133131
id = "205"
134132
}
135133
}
@@ -142,7 +140,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
142140
op = "update",
143141
data = new
144142
{
145-
type = "resourceAs",
143+
type = "incomingResources",
146144
id = "1",
147145
attributes = new
148146
{
@@ -163,39 +161,39 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
163161
{
164162
data = new
165163
{
166-
type = "resourceAs",
164+
type = "incomingResources",
167165
id = "101"
168166
}
169167
},
170168
single2 = new
171169
{
172170
data = new
173171
{
174-
type = "resourceAs",
172+
type = "incomingResources",
175173
id = "102"
176174
}
177175
},
178176
single3 = new
179177
{
180178
data = new
181179
{
182-
type = "resourceAs",
180+
type = "incomingResources",
183181
id = "103"
184182
}
185183
},
186184
single4 = new
187185
{
188186
data = new
189187
{
190-
type = "resourceAs",
188+
type = "incomingResources",
191189
id = "104"
192190
}
193191
},
194192
single5 = new
195193
{
196194
data = new
197195
{
198-
type = "resourceAs",
196+
type = "incomingResources",
199197
id = "105"
200198
}
201199
},
@@ -205,7 +203,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
205203
{
206204
new
207205
{
208-
type = "resourceAs",
206+
type = "incomingResources",
209207
id = "201"
210208
}
211209
}
@@ -216,7 +214,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
216214
{
217215
new
218216
{
219-
type = "resourceAs",
217+
type = "incomingResources",
220218
id = "202"
221219
}
222220
}
@@ -227,7 +225,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
227225
{
228226
new
229227
{
230-
type = "resourceAs",
228+
type = "incomingResources",
231229
id = "203"
232230
}
233231
}
@@ -238,7 +236,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
238236
{
239237
new
240238
{
241-
type = "resourceAs",
239+
type = "incomingResources",
242240
id = "204"
243241
}
244242
}
@@ -249,7 +247,7 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
249247
{
250248
new
251249
{
252-
type = "resourceAs",
250+
type = "incomingResources",
253251
id = "205"
254252
}
255253
}
@@ -262,17 +260,17 @@ public class OperationsDeserializationBenchmarks : DeserializationBenchmarkBase
262260
op = "remove",
263261
@ref = new
264262
{
265-
type = "resourceAs",
263+
type = "incomingResources",
266264
lid = "a-1"
267265
}
268266
}
269267
}
270268
}).Replace("atomic__operations", "atomic:operations");
271269

272270
[Benchmark]
273-
public object DeserializeOperationsRequest()
271+
public object? DeserializeOperationsRequest()
274272
{
275-
var document = JsonSerializer.Deserialize<Document>(RequestBody, SerializerReadOptions);
273+
var document = JsonSerializer.Deserialize<Document>(RequestBody, SerializerReadOptions)!;
276274
return DocumentAdapter.Convert(document);
277275
}
278276

0 commit comments

Comments
 (0)