Skip to content

Commit 8d0accc

Browse files
committed
feat(schema): resolve $dynamicRef against $dynamicAnchor via OpenApiSchemaReference
Implements document-scoped $dynamicRef resolution per JSON Schema 2020-12 §8.2.3.2. Bare $dynamicRef schemas (no $ref) now deserialize as OpenApiSchemaReference whose Target resolves via per-document $dynamicAnchor and $anchor registries in OpenApiWorkspace. Resolution order in Target: 1. $dynamicAnchor index (single candidate → resolved automatically) 2. $anchor fallback when zero $dynamicAnchor candidates exist (per §8.2.3.2) 3. null when ambiguous (multiple candidates need dynamic-scope tracking) Anchor registries are populated by recursively walking the entire document tree: component schemas, reusable component definitions (parameters, responses, request bodies, headers, callbacks, path items, media types), inline schemas (paths, operations, webhooks), and all nested subschema locations ($defs, properties, items, allOf, if/then/else, etc.). Anchor registration is merged into RegisterSchemaIdentifiers (#2918) so the schema tree is walked once instead of twice. IsDynamicRefOnly is computed from whether $dynamicRef is set and ReferenceV3 does not point to a component path — no field to forget when building from the object model. ResolveDynamicAnchorInContext special-cases OpenApiSchemaReference to read from Reference.DynamicAnchor/Definitions directly, never falling through to Target. Reference holder guards prevent the structural walk from crossing document boundaries through OpenApiParameterReference, OpenApiResponseReference, etc. Test snapshots use a custom JsonConverter<IOpenApiSchema> that routes schema serialization through the native OpenAPI writer, avoiding reflection cycles from recursive $dynamicRef. Public APIs for consumers tracking dynamic scope: - GetDynamicAnchorCandidates(doc, anchorName): returns all candidate schemas - ResolveDynamicAnchorInContext(contextSchema, anchorName): resolves against a specific entry-point schema's $defs without crossing reference boundaries Known limitation: relative URI resolution in $dynamicRef is not yet implemented (tracked as #2928). Cross-document resolution works for absolute URIs only.
1 parent 1591007 commit 8d0accc

20 files changed

Lines changed: 3300 additions & 140 deletions
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
```
22
33
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
4-
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
4+
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
55
.NET SDK 10.0.301
66
[Host] : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
77
ShortRun : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
@@ -12,9 +12,9 @@ WarmupCount=3
1212
```
1313
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
1414
|------------- |---------------:|--------------:|-------------:|-----------:|-----------:|----------:|-------------:|
15-
| PetStoreYaml | 491.4 μs | 72.31 μs | 3.96 μs | 18.5547 | 3.9063 | - | 314.57 KB |
16-
| PetStoreJson | 199.4 μs | 19.87 μs | 1.09 μs | 10.7422 | 2.9297 | - | 176.42 KB |
17-
| GHESYaml | 939,520.0 μs | 187,454.80 μs | 10,275.03 μs | 18000.0000 | 17000.0000 | 3000.0000 | 256688.91 KB |
18-
| GHESJson | 282,084.8 μs | 100,501.66 μs | 5,508.84 μs | 6000.0000 | 5000.0000 | 1000.0000 | 113857.84 KB |
19-
| GHESNextYaml | 1,152,354.7 μs | 45,814.56 μs | 2,511.25 μs | 30000.0000 | 18000.0000 | 3000.0000 | 452765.4 KB |
20-
| GHESNextJson | 549,904.6 μs | 80,767.59 μs | 4,427.14 μs | 20000.0000 | 10000.0000 | 2000.0000 | 314529.52 KB |
15+
| PetStoreYaml | 461.5 μs | 100.42 μs | 5.50 μs | 19.5313 | 3.9063 | - | 323.19 KB |
16+
| PetStoreJson | 181.3 μs | 16.34 μs | 0.90 μs | 10.7422 | 1.9531 | - | 185.05 KB |
17+
| GHESYaml | 1,028,913.1 μs | 217,737.98 μs | 11,934.95 μs | 19000.0000 | 18000.0000 | 3000.0000 | 261642.32 KB |
18+
| GHESJson | 356,086.1 μs | 128,283.32 μs | 7,031.64 μs | 8000.0000 | 7000.0000 | 2000.0000 | 118811.6 KB |
19+
| GHESNextYaml | 1,203,933.7 μs | 84,492.60 μs | 4,631.32 μs | 31000.0000 | 19000.0000 | 3000.0000 | 458486.92 KB |
20+
| GHESNextJson | 547,853.5 μs | 83,500.33 μs | 4,576.93 μs | 20000.0000 | 10000.0000 | 2000.0000 | 320247.3 KB |
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Gen0,Gen1,Gen2,Allocated
2-
PetStoreYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,491.4 μs,72.31 μs,3.96 μs,18.5547,3.9063,0.0000,314.57 KB
3-
PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,199.4 μs,19.87 μs,1.09 μs,10.7422,2.9297,0.0000,176.42 KB
4-
GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"939,520.0 μs","187,454.80 μs","10,275.03 μs",18000.0000,17000.0000,3000.0000,256688.91 KB
5-
GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"282,084.8 μs","100,501.66 μs","5,508.84 μs",6000.0000,5000.0000,1000.0000,113857.84 KB
6-
GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,152,354.7 μs","45,814.56 μs","2,511.25 μs",30000.0000,18000.0000,3000.0000,452765.4 KB
7-
GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"549,904.6 μs","80,767.59 μs","4,427.14 μs",20000.0000,10000.0000,2000.0000,314529.52 KB
2+
PetStoreYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,461.5 μs,100.42 μs,5.50 μs,19.5313,3.9063,0.0000,323.19 KB
3+
PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,181.3 μs,16.34 μs,0.90 μs,10.7422,1.9531,0.0000,185.05 KB
4+
GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,028,913.1 μs","217,737.98 μs","11,934.95 μs",19000.0000,18000.0000,3000.0000,261642.32 KB
5+
GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"356,086.1 μs","128,283.32 μs","7,031.64 μs",8000.0000,7000.0000,2000.0000,118811.6 KB
6+
GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,203,933.7 μs","84,492.60 μs","4,631.32 μs",31000.0000,19000.0000,3000.0000,458486.92 KB
7+
GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"547,853.5 μs","83,500.33 μs","4,576.93 μs",20000.0000,10000.0000,2000.0000,320247.3 KB

performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang='en'>
33
<head>
44
<meta charset='utf-8' />
5-
<title>performance.Descriptions-20260629-200911</title>
5+
<title>performance.Descriptions-20260707-174448</title>
66

77
<style type="text/css">
88
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
@@ -14,7 +14,7 @@
1414
<body>
1515
<pre><code>
1616
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
17-
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
17+
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
1818
.NET SDK 10.0.301
1919
[Host] : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
2020
ShortRun : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
@@ -26,12 +26,12 @@
2626
<table>
2727
<thead><tr><th>Method</th><th>Mean </th><th>Error </th><th>StdDev</th><th>Gen0</th><th>Gen1</th><th>Gen2</th><th>Allocated</th>
2828
</tr>
29-
</thead><tbody><tr><td>PetStoreYaml</td><td>491.4 &mu;s</td><td>72.31 &mu;s</td><td>3.96 &mu;s</td><td>18.5547</td><td>3.9063</td><td>-</td><td>314.57 KB</td>
30-
</tr><tr><td>PetStoreJson</td><td>199.4 &mu;s</td><td>19.87 &mu;s</td><td>1.09 &mu;s</td><td>10.7422</td><td>2.9297</td><td>-</td><td>176.42 KB</td>
31-
</tr><tr><td>GHESYaml</td><td>939,520.0 &mu;s</td><td>187,454.80 &mu;s</td><td>10,275.03 &mu;s</td><td>18000.0000</td><td>17000.0000</td><td>3000.0000</td><td>256688.91 KB</td>
32-
</tr><tr><td>GHESJson</td><td>282,084.8 &mu;s</td><td>100,501.66 &mu;s</td><td>5,508.84 &mu;s</td><td>6000.0000</td><td>5000.0000</td><td>1000.0000</td><td>113857.84 KB</td>
33-
</tr><tr><td>GHESNextYaml</td><td>1,152,354.7 &mu;s</td><td>45,814.56 &mu;s</td><td>2,511.25 &mu;s</td><td>30000.0000</td><td>18000.0000</td><td>3000.0000</td><td>452765.4 KB</td>
34-
</tr><tr><td>GHESNextJson</td><td>549,904.6 &mu;s</td><td>80,767.59 &mu;s</td><td>4,427.14 &mu;s</td><td>20000.0000</td><td>10000.0000</td><td>2000.0000</td><td>314529.52 KB</td>
29+
</thead><tbody><tr><td>PetStoreYaml</td><td>461.5 &mu;s</td><td>100.42 &mu;s</td><td>5.50 &mu;s</td><td>19.5313</td><td>3.9063</td><td>-</td><td>323.19 KB</td>
30+
</tr><tr><td>PetStoreJson</td><td>181.3 &mu;s</td><td>16.34 &mu;s</td><td>0.90 &mu;s</td><td>10.7422</td><td>1.9531</td><td>-</td><td>185.05 KB</td>
31+
</tr><tr><td>GHESYaml</td><td>1,028,913.1 &mu;s</td><td>217,737.98 &mu;s</td><td>11,934.95 &mu;s</td><td>19000.0000</td><td>18000.0000</td><td>3000.0000</td><td>261642.32 KB</td>
32+
</tr><tr><td>GHESJson</td><td>356,086.1 &mu;s</td><td>128,283.32 &mu;s</td><td>7,031.64 &mu;s</td><td>8000.0000</td><td>7000.0000</td><td>2000.0000</td><td>118811.6 KB</td>
33+
</tr><tr><td>GHESNextYaml</td><td>1,203,933.7 &mu;s</td><td>84,492.60 &mu;s</td><td>4,631.32 &mu;s</td><td>31000.0000</td><td>19000.0000</td><td>3000.0000</td><td>458486.92 KB</td>
34+
</tr><tr><td>GHESNextJson</td><td>547,853.5 &mu;s</td><td>83,500.33 &mu;s</td><td>4,576.93 &mu;s</td><td>20000.0000</td><td>10000.0000</td><td>2000.0000</td><td>320247.3 KB</td>
3535
</tr></tbody></table>
3636
</body>
3737
</html>

performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
```
22
33
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
4-
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
4+
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
55
.NET SDK 10.0.301
66
[Host] : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
77
ShortRun : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
@@ -10,33 +10,33 @@ Job=ShortRun IterationCount=3 LaunchCount=1
1010
WarmupCount=3
1111
1212
```
13-
| Method | Mean | Error | StdDev | Gen0 | Allocated |
14-
|---------------------------- |-------------:|----------:|----------:|-------:|----------:|
15-
| EmptyApiCallback | 14.077 ns | 5.879 ns | 0.3223 ns | 0.0019 | 32 B |
16-
| EmptyApiComponents | 14.353 ns | 27.787 ns | 1.5231 ns | 0.0067 | 112 B |
17-
| EmptyApiContact | 8.820 ns | 4.774 ns | 0.2617 ns | 0.0029 | 48 B |
18-
| EmptyApiDiscriminator | 12.366 ns | 17.252 ns | 0.9456 ns | 0.0029 | 48 B |
19-
| EmptyDocument | 1,227.975 ns | 78.094 ns | 4.2806 ns | 0.0668 | 1144 B |
20-
| EmptyApiEncoding | 16.017 ns | 39.797 ns | 2.1814 ns | 0.0048 | 80 B |
21-
| EmptyApiExample | 13.024 ns | 4.635 ns | 0.2541 ns | 0.0043 | 72 B |
22-
| EmptyApiExternalDocs | 14.738 ns | 18.712 ns | 1.0257 ns | 0.0024 | 40 B |
23-
| EmptyApiHeader | 13.615 ns | 12.637 ns | 0.6927 ns | 0.0048 | 80 B |
24-
| EmptyApiInfo | 13.339 ns | 36.579 ns | 2.0050 ns | 0.0048 | 80 B |
25-
| EmptyApiLicense | 11.728 ns | 27.400 ns | 1.5019 ns | 0.0029 | 48 B |
26-
| EmptyApiLink | 14.362 ns | 51.417 ns | 2.8183 ns | 0.0043 | 72 B |
27-
| EmptyApiMediaType | 11.310 ns | 2.030 ns | 0.1113 ns | 0.0048 | 80 B |
28-
| EmptyApiOAuthFlow | 8.204 ns | 2.441 ns | 0.1338 ns | 0.0038 | 64 B |
29-
| EmptyApiOAuthFlows | 11.544 ns | 20.185 ns | 1.1064 ns | 0.0038 | 64 B |
30-
| EmptyApiOperation | 76.914 ns | 36.381 ns | 1.9942 ns | 0.0224 | 376 B |
31-
| EmptyApiParameter | 12.591 ns | 24.321 ns | 1.3331 ns | 0.0057 | 96 B |
32-
| EmptyApiPathItem | 15.782 ns | 25.659 ns | 1.4064 ns | 0.0038 | 64 B |
33-
| EmptyApiPaths | 60.798 ns | 12.323 ns | 0.6755 ns | 0.0148 | 248 B |
34-
| EmptyApiRequestBody | 9.189 ns | 14.175 ns | 0.7770 ns | 0.0029 | 48 B |
35-
| EmptyApiResponse | 14.850 ns | 20.664 ns | 1.1327 ns | 0.0038 | 64 B |
36-
| EmptyApiResponses | 64.813 ns | 29.839 ns | 1.6356 ns | 0.0148 | 248 B |
37-
| EmptyApiSchema | 22.176 ns | 8.769 ns | 0.4807 ns | 0.0306 | 512 B |
38-
| EmptyApiSecurityRequirement | 16.838 ns | 11.238 ns | 0.6160 ns | 0.0062 | 104 B |
39-
| EmptyApiSecurityScheme | 11.860 ns | 15.234 ns | 0.8350 ns | 0.0062 | 104 B |
40-
| EmptyApiServer | 7.778 ns | 3.765 ns | 0.2063 ns | 0.0033 | 56 B |
41-
| EmptyApiServerVariable | 13.466 ns | 11.117 ns | 0.6093 ns | 0.0029 | 48 B |
42-
| EmptyApiTag | 8.794 ns | 5.167 ns | 0.2832 ns | 0.0043 | 72 B |
13+
| Method | Mean | Error | StdDev | Gen0 | Allocated |
14+
|---------------------------- |-------------:|-----------:|----------:|-------:|----------:|
15+
| EmptyApiCallback | 7.232 ns | 8.3210 ns | 0.4561 ns | 0.0019 | 32 B |
16+
| EmptyApiComponents | 8.984 ns | 3.9685 ns | 0.2175 ns | 0.0067 | 112 B |
17+
| EmptyApiContact | 6.717 ns | 0.2355 ns | 0.0129 ns | 0.0029 | 48 B |
18+
| EmptyApiDiscriminator | 6.867 ns | 0.5429 ns | 0.0298 ns | 0.0029 | 48 B |
19+
| EmptyDocument | 1,355.077 ns | 48.3170 ns | 2.6484 ns | 0.0687 | 1160 B |
20+
| EmptyApiEncoding | 8.288 ns | 1.3399 ns | 0.0734 ns | 0.0048 | 80 B |
21+
| EmptyApiExample | 7.900 ns | 2.2296 ns | 0.1222 ns | 0.0043 | 72 B |
22+
| EmptyApiExternalDocs | 6.854 ns | 3.4840 ns | 0.1910 ns | 0.0024 | 40 B |
23+
| EmptyApiHeader | 7.539 ns | 1.8631 ns | 0.1021 ns | 0.0048 | 80 B |
24+
| EmptyApiInfo | 7.943 ns | 1.2944 ns | 0.0710 ns | 0.0048 | 80 B |
25+
| EmptyApiLicense | 6.433 ns | 2.5159 ns | 0.1379 ns | 0.0029 | 48 B |
26+
| EmptyApiLink | 8.250 ns | 4.0745 ns | 0.2233 ns | 0.0043 | 72 B |
27+
| EmptyApiMediaType | 8.189 ns | 7.1944 ns | 0.3943 ns | 0.0048 | 80 B |
28+
| EmptyApiOAuthFlow | 8.402 ns | 3.6129 ns | 0.1980 ns | 0.0038 | 64 B |
29+
| EmptyApiOAuthFlows | 7.220 ns | 2.3217 ns | 0.1273 ns | 0.0038 | 64 B |
30+
| EmptyApiOperation | 78.147 ns | 25.1014 ns | 1.3759 ns | 0.0224 | 376 B |
31+
| EmptyApiParameter | 7.926 ns | 17.9080 ns | 0.9816 ns | 0.0057 | 96 B |
32+
| EmptyApiPathItem | 7.019 ns | 3.9054 ns | 0.2141 ns | 0.0038 | 64 B |
33+
| EmptyApiPaths | 61.040 ns | 4.2915 ns | 0.2352 ns | 0.0148 | 248 B |
34+
| EmptyApiRequestBody | 8.099 ns | 2.2266 ns | 0.1220 ns | 0.0029 | 48 B |
35+
| EmptyApiResponse | 7.329 ns | 1.7690 ns | 0.0970 ns | 0.0038 | 64 B |
36+
| EmptyApiResponses | 64.278 ns | 10.6687 ns | 0.5848 ns | 0.0148 | 248 B |
37+
| EmptyApiSchema | 18.917 ns | 0.8634 ns | 0.0473 ns | 0.0306 | 512 B |
38+
| EmptyApiSecurityRequirement | 15.816 ns | 7.6579 ns | 0.4198 ns | 0.0062 | 104 B |
39+
| EmptyApiSecurityScheme | 8.543 ns | 0.9986 ns | 0.0547 ns | 0.0062 | 104 B |
40+
| EmptyApiServer | 7.023 ns | 10.9048 ns | 0.5977 ns | 0.0033 | 56 B |
41+
| EmptyApiServerVariable | 6.945 ns | 0.4329 ns | 0.0237 ns | 0.0029 | 48 B |
42+
| EmptyApiTag | 7.579 ns | 1.4125 ns | 0.0774 ns | 0.0043 | 72 B |

0 commit comments

Comments
 (0)