Skip to content

Commit 557bd6a

Browse files
authored
Merge pull request #2932 from microsoft/feat/external-anchor-relative-id-to-v2
feat: adds support for anchor and id external resolution
2 parents 69f05b8 + 4138e47 commit 557bd6a

12 files changed

Lines changed: 415 additions & 116 deletions

performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report-github.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Job=ShortRun IterationCount=3 LaunchCount=1
1010
WarmupCount=3
1111
1212
```
13-
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
14-
|------------- |--------------:|---------------:|--------------:|-----------:|-----------:|----------:|-------------:|
15-
| PetStoreYaml | 281.26 μs | 87.951 μs | 4.821 μs | 74.2188 | 15.6250 | - | 313.05 KB |
16-
| PetStoreJson | 99.37 μs | 7.974 μs | 0.437 μs | 42.4805 | 8.3008 | - | 175.2 KB |
17-
| GHESYaml | 558,007.40 μs | 245,240.510 μs | 13,442.460 μs | 45000.0000 | 19000.0000 | 3000.0000 | 254573.63 KB |
18-
| GHESJson | 263,444.90 μs | 586,112.802 μs | 32,126.821 μs | 18000.0000 | 9000.0000 | 2000.0000 | 111745.13 KB |
19-
| GHESNextYaml | 785,094.03 μs | 214,946.431 μs | 11,781.939 μs | 80000.0000 | 20000.0000 | 3000.0000 | 450674.2 KB |
20-
| GHESNextJson | 461,067.00 μs | 50,227.814 μs | 2,753.156 μs | 53000.0000 | 13000.0000 | 3000.0000 | 312434.25 KB |
13+
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
14+
|------------- |-------------:|--------------:|-------------:|-----------:|-----------:|----------:|-------------:|
15+
| PetStoreYaml | 232.0 μs | 56.09 μs | 3.07 μs | 76.1719 | 9.7656 | - | 314.13 KB |
16+
| PetStoreJson | 117.3 μs | 10.56 μs | 0.58 μs | 42.9688 | 7.3242 | - | 176.27 KB |
17+
| GHESYaml | 621,674.1 μs | 152,892.95 μs | 8,380.58 μs | 45000.0000 | 19000.0000 | 3000.0000 | 256630.98 KB |
18+
| GHESJson | 264,154.1 μs | 490,035.63 μs | 26,860.51 μs | 18000.0000 | 10000.0000 | 2000.0000 | 113802.94 KB |
19+
| GHESNextYaml | 777,958.3 μs | 269,413.33 μs | 14,767.45 μs | 80000.0000 | 20000.0000 | 3000.0000 | 452706.23 KB |
20+
| GHESNextJson | 432,900.8 μs | 561,774.69 μs | 30,792.77 μs | 54000.0000 | 14000.0000 | 3000.0000 | 314472.13 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,111111111111,Empty,RyuJit,Default,Arm64,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,281.26 μs,87.951 μs,4.821 μs,74.2188,15.6250,0.0000,313.05 KB
3-
PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,99.37 μs,7.974 μs,0.437 μs,42.4805,8.3008,0.0000,175.2 KB
4-
GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"558,007.40 μs","245,240.510 μs","13,442.460 μs",45000.0000,19000.0000,3000.0000,254573.63 KB
5-
GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"263,444.90 μs","586,112.802 μs","32,126.821 μs",18000.0000,9000.0000,2000.0000,111745.13 KB
6-
GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"785,094.03 μs","214,946.431 μs","11,781.939 μs",80000.0000,20000.0000,3000.0000,450674.2 KB
7-
GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,067.00 μs","50,227.814 μs","2,753.156 μs",53000.0000,13000.0000,3000.0000,312434.25 KB
2+
PetStoreYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,232.0 μs,56.09 μs,3.07 μs,76.1719,9.7656,0.0000,314.13 KB
3+
PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,117.3 μs,10.56 μs,0.58 μs,42.9688,7.3242,0.0000,176.27 KB
4+
GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"621,674.1 μs","152,892.95 μs","8,380.58 μs",45000.0000,19000.0000,3000.0000,256630.98 KB
5+
GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"264,154.1 μs","490,035.63 μs","26,860.51 μs",18000.0000,10000.0000,2000.0000,113802.94 KB
6+
GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"777,958.3 μs","269,413.33 μs","14,767.45 μs",80000.0000,20000.0000,3000.0000,452706.23 KB
7+
GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,111111111111,Empty,RyuJit,Default,Arm64,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,"432,900.8 μs","561,774.69 μs","30,792.77 μs",54000.0000,14000.0000,3000.0000,314472.13 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-20260626-150505</title>
5+
<title>performance.Descriptions-20260708-084315</title>
66

77
<style type="text/css">
88
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
@@ -24,14 +24,14 @@
2424
</code></pre>
2525

2626
<table>
27-
<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>
27+
<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>281.26 &mu;s</td><td>87.951 &mu;s</td><td>4.821 &mu;s</td><td>74.2188</td><td>15.6250</td><td>-</td><td>313.05 KB</td>
30-
</tr><tr><td>PetStoreJson</td><td>99.37 &mu;s</td><td>7.974 &mu;s</td><td>0.437 &mu;s</td><td>42.4805</td><td>8.3008</td><td>-</td><td>175.2 KB</td>
31-
</tr><tr><td>GHESYaml</td><td>558,007.40 &mu;s</td><td>245,240.510 &mu;s</td><td>13,442.460 &mu;s</td><td>45000.0000</td><td>19000.0000</td><td>3000.0000</td><td>254573.63 KB</td>
32-
</tr><tr><td>GHESJson</td><td>263,444.90 &mu;s</td><td>586,112.802 &mu;s</td><td>32,126.821 &mu;s</td><td>18000.0000</td><td>9000.0000</td><td>2000.0000</td><td>111745.13 KB</td>
33-
</tr><tr><td>GHESNextYaml</td><td>785,094.03 &mu;s</td><td>214,946.431 &mu;s</td><td>11,781.939 &mu;s</td><td>80000.0000</td><td>20000.0000</td><td>3000.0000</td><td>450674.2 KB</td>
34-
</tr><tr><td>GHESNextJson</td><td>461,067.00 &mu;s</td><td>50,227.814 &mu;s</td><td>2,753.156 &mu;s</td><td>53000.0000</td><td>13000.0000</td><td>3000.0000</td><td>312434.25 KB</td>
29+
</thead><tbody><tr><td>PetStoreYaml</td><td>232.0 &mu;s</td><td>56.09 &mu;s</td><td>3.07 &mu;s</td><td>76.1719</td><td>9.7656</td><td>-</td><td>314.13 KB</td>
30+
</tr><tr><td>PetStoreJson</td><td>117.3 &mu;s</td><td>10.56 &mu;s</td><td>0.58 &mu;s</td><td>42.9688</td><td>7.3242</td><td>-</td><td>176.27 KB</td>
31+
</tr><tr><td>GHESYaml</td><td>621,674.1 &mu;s</td><td>152,892.95 &mu;s</td><td>8,380.58 &mu;s</td><td>45000.0000</td><td>19000.0000</td><td>3000.0000</td><td>256630.98 KB</td>
32+
</tr><tr><td>GHESJson</td><td>264,154.1 &mu;s</td><td>490,035.63 &mu;s</td><td>26,860.51 &mu;s</td><td>18000.0000</td><td>10000.0000</td><td>2000.0000</td><td>113802.94 KB</td>
33+
</tr><tr><td>GHESNextYaml</td><td>777,958.3 &mu;s</td><td>269,413.33 &mu;s</td><td>14,767.45 &mu;s</td><td>80000.0000</td><td>20000.0000</td><td>3000.0000</td><td>452706.23 KB</td>
34+
</tr><tr><td>GHESNextJson</td><td>432,900.8 &mu;s</td><td>561,774.69 &mu;s</td><td>30,792.77 &mu;s</td><td>54000.0000</td><td>14000.0000</td><td>3000.0000</td><td>314472.13 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.

performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.EmptyModels-report-github.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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 | 1.631 ns | 0.4678 ns | 0.0256 ns | 0.0077 | 32 B |
16-
| EmptyApiComponents | 3.038 ns | 0.4529 ns | 0.0248 ns | 0.0249 | 104 B |
17-
| EmptyApiContact | 1.896 ns | 0.3129 ns | 0.0172 ns | 0.0115 | 48 B |
18-
| EmptyApiDiscriminator | 1.749 ns | 0.3228 ns | 0.0177 ns | 0.0096 | 40 B |
19-
| EmptyDocument | 299.380 ns | 9.4022 ns | 0.5154 ns | 0.2713 | 1136 B |
20-
| EmptyApiEncoding | 2.058 ns | 0.5317 ns | 0.0291 ns | 0.0134 | 56 B |
21-
| EmptyApiExample | 2.109 ns | 0.5283 ns | 0.0290 ns | 0.0134 | 56 B |
22-
| EmptyApiExternalDocs | 1.805 ns | 0.5617 ns | 0.0308 ns | 0.0096 | 40 B |
23-
| EmptyApiHeader | 2.603 ns | 0.2398 ns | 0.0131 ns | 0.0191 | 80 B |
24-
| EmptyApiInfo | 2.592 ns | 0.1590 ns | 0.0087 ns | 0.0191 | 80 B |
25-
| EmptyApiLicense | 1.943 ns | 0.1054 ns | 0.0058 ns | 0.0115 | 48 B |
26-
| EmptyApiLink | 2.421 ns | 0.4424 ns | 0.0242 ns | 0.0172 | 72 B |
27-
| EmptyApiMediaType | 2.090 ns | 0.4463 ns | 0.0245 ns | 0.0134 | 56 B |
28-
| EmptyApiOAuthFlow | 2.091 ns | 0.1712 ns | 0.0094 ns | 0.0134 | 56 B |
29-
| EmptyApiOAuthFlows | 2.145 ns | 1.3739 ns | 0.0753 ns | 0.0134 | 56 B |
30-
| EmptyApiOperation | 49.237 ns | 5.8974 ns | 0.3233 ns | 0.0899 | 376 B |
31-
| EmptyApiParameter | 2.901 ns | 0.1597 ns | 0.0088 ns | 0.0230 | 96 B |
32-
| EmptyApiPathItem | 2.268 ns | 0.3209 ns | 0.0176 ns | 0.0153 | 64 B |
33-
| EmptyApiPaths | 43.940 ns | 0.7996 ns | 0.0438 ns | 0.0592 | 248 B |
34-
| EmptyApiRequestBody | 2.018 ns | 1.0255 ns | 0.0562 ns | 0.0115 | 48 B |
35-
| EmptyApiResponse | 2.147 ns | 0.2978 ns | 0.0163 ns | 0.0134 | 56 B |
36-
| EmptyApiResponses | 44.493 ns | 8.3008 ns | 0.4550 ns | 0.0592 | 248 B |
37-
| EmptyApiSchema | 11.176 ns | 1.0596 ns | 0.0581 ns | 0.1224 | 512 B |
38-
| EmptyApiSecurityRequirement | 6.937 ns | 0.9959 ns | 0.0546 ns | 0.0249 | 104 B |
39-
| EmptyApiSecurityScheme | 2.727 ns | 0.3873 ns | 0.0212 ns | 0.0210 | 88 B |
40-
| EmptyApiServer | 1.989 ns | 0.9299 ns | 0.0510 ns | 0.0115 | 48 B |
41-
| EmptyApiServerVariable | 1.925 ns | 0.5804 ns | 0.0318 ns | 0.0115 | 48 B |
42-
| EmptyApiTag | 1.962 ns | 0.3806 ns | 0.0209 ns | 0.0115 | 48 B |
13+
| Method | Mean | Error | StdDev | Gen0 | Allocated |
14+
|---------------------------- |-----------:|-----------:|----------:|-------:|----------:|
15+
| EmptyApiCallback | 1.646 ns | 0.6629 ns | 0.0363 ns | 0.0077 | 32 B |
16+
| EmptyApiComponents | 3.068 ns | 0.5393 ns | 0.0296 ns | 0.0249 | 104 B |
17+
| EmptyApiContact | 1.928 ns | 0.1985 ns | 0.0109 ns | 0.0115 | 48 B |
18+
| EmptyApiDiscriminator | 1.717 ns | 0.4121 ns | 0.0226 ns | 0.0096 | 40 B |
19+
| EmptyDocument | 299.059 ns | 22.2169 ns | 1.2178 ns | 0.2713 | 1136 B |
20+
| EmptyApiEncoding | 2.057 ns | 0.2635 ns | 0.0144 ns | 0.0134 | 56 B |
21+
| EmptyApiExample | 1.878 ns | 2.1182 ns | 0.1161 ns | 0.0134 | 56 B |
22+
| EmptyApiExternalDocs | 1.578 ns | 1.1661 ns | 0.0639 ns | 0.0096 | 40 B |
23+
| EmptyApiHeader | 2.258 ns | 2.2673 ns | 0.1243 ns | 0.0191 | 80 B |
24+
| EmptyApiInfo | 2.272 ns | 1.0395 ns | 0.0570 ns | 0.0191 | 80 B |
25+
| EmptyApiLicense | 1.711 ns | 1.5825 ns | 0.0867 ns | 0.0115 | 48 B |
26+
| EmptyApiLink | 2.251 ns | 2.9816 ns | 0.1634 ns | 0.0172 | 72 B |
27+
| EmptyApiMediaType | 1.821 ns | 1.1297 ns | 0.0619 ns | 0.0134 | 56 B |
28+
| EmptyApiOAuthFlow | 1.793 ns | 1.1581 ns | 0.0635 ns | 0.0134 | 56 B |
29+
| EmptyApiOAuthFlows | 2.447 ns | 0.5327 ns | 0.0292 ns | 0.0134 | 56 B |
30+
| EmptyApiOperation | 48.119 ns | 1.3899 ns | 0.0762 ns | 0.0899 | 376 B |
31+
| EmptyApiParameter | 2.861 ns | 3.9520 ns | 0.2166 ns | 0.0230 | 96 B |
32+
| EmptyApiPathItem | 2.214 ns | 0.2237 ns | 0.0123 ns | 0.0153 | 64 B |
33+
| EmptyApiPaths | 43.001 ns | 3.9765 ns | 0.2180 ns | 0.0592 | 248 B |
34+
| EmptyApiRequestBody | 1.877 ns | 0.4134 ns | 0.0227 ns | 0.0115 | 48 B |
35+
| EmptyApiResponse | 2.089 ns | 0.0827 ns | 0.0045 ns | 0.0134 | 56 B |
36+
| EmptyApiResponses | 43.530 ns | 0.3726 ns | 0.0204 ns | 0.0592 | 248 B |
37+
| EmptyApiSchema | 11.004 ns | 0.7435 ns | 0.0408 ns | 0.1224 | 512 B |
38+
| EmptyApiSecurityRequirement | 7.082 ns | 1.8803 ns | 0.1031 ns | 0.0249 | 104 B |
39+
| EmptyApiSecurityScheme | 2.782 ns | 0.2327 ns | 0.0128 ns | 0.0210 | 88 B |
40+
| EmptyApiServer | 1.932 ns | 0.9701 ns | 0.0532 ns | 0.0115 | 48 B |
41+
| EmptyApiServerVariable | 1.967 ns | 0.2259 ns | 0.0124 ns | 0.0115 | 48 B |
42+
| EmptyApiTag | 1.939 ns | 0.7970 ns | 0.0437 ns | 0.0115 | 48 B |

0 commit comments

Comments
 (0)