Skip to content

Commit 78475e3

Browse files
authored
Merge pull request #2876 from Poltuu/main
feat: add contains/minContains/maxContains members
2 parents b635242 + 24c2a0b commit 78475e3

22 files changed

Lines changed: 471 additions & 114 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 | 371.5 μs | 35.60 μs | 1.95 μs | 74.2188 | 11.7188 | - | 307.17 KB |
16-
| PetStoreJson | 155.7 μs | 10.23 μs | 0.56 μs | 41.0156 | 6.8359 | - | 169.31 KB |
17-
| GHESYaml | 771,340.7 μs | 72,493.09 μs | 3,973.59 μs | 44000.0000 | 18000.0000 | 3000.0000 | 252535.98 KB |
18-
| GHESJson | 308,100.8 μs | 132,615.87 μs | 7,269.12 μs | 17000.0000 | 9000.0000 | 2000.0000 | 109706.91 KB |
19-
| GHESNextYaml | 999,238.5 μs | 116,421.98 μs | 6,381.48 μs | 80000.0000 | 20000.0000 | 3000.0000 | 446197.67 KB |
20-
| GHESNextJson | 565,582.8 μs | 54,146.09 μs | 2,967.93 μs | 52000.0000 | 14000.0000 | 3000.0000 | 307956.73 KB |
13+
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
14+
|------------- |---------------:|--------------:|-------------:|-----------:|-----------:|----------:|-------------:|
15+
| PetStoreYaml | 371.7 μs | 35.71 μs | 1.96 μs | 74.2188 | 15.6250 | - | 307.59 KB |
16+
| PetStoreJson | 155.8 μs | 27.95 μs | 1.53 μs | 41.0156 | 2.9297 | - | 169.74 KB |
17+
| GHESYaml | 820,515.0 μs | 271,578.81 μs | 14,886.15 μs | 45000.0000 | 18000.0000 | 3000.0000 | 253340.42 KB |
18+
| GHESJson | 302,067.9 μs | 133,906.46 μs | 7,339.86 μs | 18000.0000 | 10000.0000 | 2000.0000 | 110511.77 KB |
19+
| GHESNextYaml | 1,023,253.0 μs | 242,683.77 μs | 13,302.32 μs | 80000.0000 | 19000.0000 | 3000.0000 | 447044.99 KB |
20+
| GHESNextJson | 577,121.9 μs | 340,214.97 μs | 18,648.33 μs | 52000.0000 | 13000.0000 | 3000.0000 | 308806.54 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,371.5 μs,35.60 μs,1.95 μs,74.2188,11.7188,0.0000,307.17 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,155.7 μs,10.23 μs,0.56 μs,41.0156,6.8359,0.0000,169.31 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,"771,340.7 μs","72,493.09 μs","3,973.59 μs",44000.0000,18000.0000,3000.0000,252535.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,"308,100.8 μs","132,615.87 μs","7,269.12 μs",17000.0000,9000.0000,2000.0000,109706.91 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,"999,238.5 μs","116,421.98 μs","6,381.48 μs",80000.0000,20000.0000,3000.0000,446197.67 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,"565,582.8 μs","54,146.09 μs","2,967.93 μs",52000.0000,14000.0000,3000.0000,307956.73 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,371.7 μs,35.71 μs,1.96 μs,74.2188,15.6250,0.0000,307.59 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,155.8 μs,27.95 μs,1.53 μs,41.0156,2.9297,0.0000,169.74 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,"820,515.0 μs","271,578.81 μs","14,886.15 μs",45000.0000,18000.0000,3000.0000,253340.42 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,"302,067.9 μs","133,906.46 μs","7,339.86 μs",18000.0000,10000.0000,2000.0000,110511.77 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,"1,023,253.0 μs","242,683.77 μs","13,302.32 μs",80000.0000,19000.0000,3000.0000,447044.99 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,"577,121.9 μs","340,214.97 μs","18,648.33 μs",52000.0000,13000.0000,3000.0000,308806.54 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-20260609-124950</title>
5+
<title>performance.Descriptions-20260609-145620</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>371.5 &mu;s</td><td>35.60 &mu;s</td><td>1.95 &mu;s</td><td>74.2188</td><td>11.7188</td><td>-</td><td>307.17 KB</td>
30-
</tr><tr><td>PetStoreJson</td><td>155.7 &mu;s</td><td>10.23 &mu;s</td><td>0.56 &mu;s</td><td>41.0156</td><td>6.8359</td><td>-</td><td>169.31 KB</td>
31-
</tr><tr><td>GHESYaml</td><td>771,340.7 &mu;s</td><td>72,493.09 &mu;s</td><td>3,973.59 &mu;s</td><td>44000.0000</td><td>18000.0000</td><td>3000.0000</td><td>252535.98 KB</td>
32-
</tr><tr><td>GHESJson</td><td>308,100.8 &mu;s</td><td>132,615.87 &mu;s</td><td>7,269.12 &mu;s</td><td>17000.0000</td><td>9000.0000</td><td>2000.0000</td><td>109706.91 KB</td>
33-
</tr><tr><td>GHESNextYaml</td><td>999,238.5 &mu;s</td><td>116,421.98 &mu;s</td><td>6,381.48 &mu;s</td><td>80000.0000</td><td>20000.0000</td><td>3000.0000</td><td>446197.67 KB</td>
34-
</tr><tr><td>GHESNextJson</td><td>565,582.8 &mu;s</td><td>54,146.09 &mu;s</td><td>2,967.93 &mu;s</td><td>52000.0000</td><td>14000.0000</td><td>3000.0000</td><td>307956.73 KB</td>
29+
</thead><tbody><tr><td>PetStoreYaml</td><td>371.7 &mu;s</td><td>35.71 &mu;s</td><td>1.96 &mu;s</td><td>74.2188</td><td>15.6250</td><td>-</td><td>307.59 KB</td>
30+
</tr><tr><td>PetStoreJson</td><td>155.8 &mu;s</td><td>27.95 &mu;s</td><td>1.53 &mu;s</td><td>41.0156</td><td>2.9297</td><td>-</td><td>169.74 KB</td>
31+
</tr><tr><td>GHESYaml</td><td>820,515.0 &mu;s</td><td>271,578.81 &mu;s</td><td>14,886.15 &mu;s</td><td>45000.0000</td><td>18000.0000</td><td>3000.0000</td><td>253340.42 KB</td>
32+
</tr><tr><td>GHESJson</td><td>302,067.9 &mu;s</td><td>133,906.46 &mu;s</td><td>7,339.86 &mu;s</td><td>18000.0000</td><td>10000.0000</td><td>2000.0000</td><td>110511.77 KB</td>
33+
</tr><tr><td>GHESNextYaml</td><td>1,023,253.0 &mu;s</td><td>242,683.77 &mu;s</td><td>13,302.32 &mu;s</td><td>80000.0000</td><td>19000.0000</td><td>3000.0000</td><td>447044.99 KB</td>
34+
</tr><tr><td>GHESNextJson</td><td>577,121.9 &mu;s</td><td>340,214.97 &mu;s</td><td>18,648.33 &mu;s</td><td>52000.0000</td><td>13000.0000</td><td>3000.0000</td><td>308806.54 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: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,31 @@ WarmupCount=3
1212
```
1313
| Method | Mean | Error | StdDev | Gen0 | Allocated |
1414
|---------------------------- |-----------:|-----------:|----------:|-------:|----------:|
15-
| EmptyApiCallback | 1.781 ns | 0.4829 ns | 0.0265 ns | 0.0077 | 32 B |
16-
| EmptyApiComponents | 4.957 ns | 2.9026 ns | 0.1591 ns | 0.0268 | 112 B |
17-
| EmptyApiContact | 2.865 ns | 1.4412 ns | 0.0790 ns | 0.0115 | 48 B |
18-
| EmptyApiDiscriminator | 2.670 ns | 0.6316 ns | 0.0346 ns | 0.0115 | 48 B |
19-
| EmptyDocument | 416.732 ns | 39.3570 ns | 2.1573 ns | 0.2732 | 1144 B |
20-
| EmptyApiEncoding | 3.503 ns | 0.4499 ns | 0.0247 ns | 0.0191 | 80 B |
21-
| EmptyApiExample | 3.548 ns | 0.8868 ns | 0.0486 ns | 0.0172 | 72 B |
22-
| EmptyApiExternalDocs | 2.652 ns | 0.8060 ns | 0.0442 ns | 0.0096 | 40 B |
23-
| EmptyApiHeader | 3.482 ns | 0.6217 ns | 0.0341 ns | 0.0191 | 80 B |
24-
| EmptyApiInfo | 3.512 ns | 0.6497 ns | 0.0356 ns | 0.0191 | 80 B |
25-
| EmptyApiLicense | 2.706 ns | 1.6023 ns | 0.0878 ns | 0.0115 | 48 B |
26-
| EmptyApiLink | 3.270 ns | 0.8580 ns | 0.0470 ns | 0.0172 | 72 B |
27-
| EmptyApiMediaType | 3.494 ns | 0.6535 ns | 0.0358 ns | 0.0191 | 80 B |
28-
| EmptyApiOAuthFlow | 3.094 ns | 0.9549 ns | 0.0523 ns | 0.0153 | 64 B |
29-
| EmptyApiOAuthFlows | 3.264 ns | 1.2645 ns | 0.0693 ns | 0.0153 | 64 B |
30-
| EmptyApiOperation | 64.758 ns | 8.5491 ns | 0.4686 ns | 0.0899 | 376 B |
31-
| EmptyApiParameter | 4.144 ns | 1.7628 ns | 0.0966 ns | 0.0229 | 96 B |
32-
| EmptyApiPathItem | 3.110 ns | 0.9364 ns | 0.0513 ns | 0.0153 | 64 B |
33-
| EmptyApiPaths | 58.693 ns | 15.0339 ns | 0.8241 ns | 0.0592 | 248 B |
34-
| EmptyApiRequestBody | 3.252 ns | 9.8887 ns | 0.5420 ns | 0.0115 | 48 B |
35-
| EmptyApiResponse | 3.152 ns | 1.1094 ns | 0.0608 ns | 0.0153 | 64 B |
36-
| EmptyApiResponses | 58.916 ns | 12.7100 ns | 0.6967 ns | 0.0592 | 248 B |
37-
| EmptyApiSchema | 14.711 ns | 4.1025 ns | 0.2249 ns | 0.1167 | 488 B |
38-
| EmptyApiSecurityRequirement | 9.836 ns | 3.5845 ns | 0.1965 ns | 0.0249 | 104 B |
39-
| EmptyApiSecurityScheme | 4.153 ns | 1.5510 ns | 0.0850 ns | 0.0249 | 104 B |
40-
| EmptyApiServer | 2.913 ns | 1.0017 ns | 0.0549 ns | 0.0134 | 56 B |
41-
| EmptyApiServerVariable | 2.684 ns | 0.4622 ns | 0.0253 ns | 0.0115 | 48 B |
42-
| EmptyApiTag | 3.467 ns | 2.0488 ns | 0.1123 ns | 0.0172 | 72 B |
15+
| EmptyApiCallback | 2.184 ns | 1.0483 ns | 0.0575 ns | 0.0077 | 32 B |
16+
| EmptyApiComponents | 4.331 ns | 0.7695 ns | 0.0422 ns | 0.0268 | 112 B |
17+
| EmptyApiContact | 2.539 ns | 1.0312 ns | 0.0565 ns | 0.0115 | 48 B |
18+
| EmptyApiDiscriminator | 2.575 ns | 1.1737 ns | 0.0643 ns | 0.0115 | 48 B |
19+
| EmptyDocument | 403.466 ns | 10.0468 ns | 0.5507 ns | 0.2732 | 1144 B |
20+
| EmptyApiEncoding | 3.368 ns | 0.1769 ns | 0.0097 ns | 0.0191 | 80 B |
21+
| EmptyApiExample | 3.245 ns | 0.4273 ns | 0.0234 ns | 0.0172 | 72 B |
22+
| EmptyApiExternalDocs | 2.326 ns | 0.4220 ns | 0.0231 ns | 0.0096 | 40 B |
23+
| EmptyApiHeader | 3.342 ns | 0.1606 ns | 0.0088 ns | 0.0191 | 80 B |
24+
| EmptyApiInfo | 3.347 ns | 0.5774 ns | 0.0317 ns | 0.0191 | 80 B |
25+
| EmptyApiLicense | 2.707 ns | 0.5576 ns | 0.0306 ns | 0.0115 | 48 B |
26+
| EmptyApiLink | 3.301 ns | 1.8443 ns | 0.1011 ns | 0.0172 | 72 B |
27+
| EmptyApiMediaType | 3.659 ns | 1.9830 ns | 0.1087 ns | 0.0191 | 80 B |
28+
| EmptyApiOAuthFlow | 3.344 ns | 0.0587 ns | 0.0032 ns | 0.0153 | 64 B |
29+
| EmptyApiOAuthFlows | 3.312 ns | 2.9546 ns | 0.1620 ns | 0.0153 | 64 B |
30+
| EmptyApiOperation | 65.559 ns | 12.2926 ns | 0.6738 ns | 0.0899 | 376 B |
31+
| EmptyApiParameter | 4.012 ns | 0.6116 ns | 0.0335 ns | 0.0229 | 96 B |
32+
| EmptyApiPathItem | 3.155 ns | 1.7310 ns | 0.0949 ns | 0.0153 | 64 B |
33+
| EmptyApiPaths | 58.748 ns | 10.8771 ns | 0.5962 ns | 0.0592 | 248 B |
34+
| EmptyApiRequestBody | 2.643 ns | 0.4460 ns | 0.0244 ns | 0.0115 | 48 B |
35+
| EmptyApiResponse | 3.199 ns | 1.4671 ns | 0.0804 ns | 0.0153 | 64 B |
36+
| EmptyApiResponses | 58.041 ns | 8.1676 ns | 0.4477 ns | 0.0592 | 248 B |
37+
| EmptyApiSchema | 14.630 ns | 1.9349 ns | 0.1061 ns | 0.1224 | 512 B |
38+
| EmptyApiSecurityRequirement | 9.473 ns | 4.8300 ns | 0.2647 ns | 0.0249 | 104 B |
39+
| EmptyApiSecurityScheme | 4.202 ns | 2.3228 ns | 0.1273 ns | 0.0249 | 104 B |
40+
| EmptyApiServer | 2.960 ns | 3.0384 ns | 0.1665 ns | 0.0134 | 56 B |
41+
| EmptyApiServerVariable | 2.755 ns | 1.2095 ns | 0.0663 ns | 0.0115 | 48 B |
42+
| EmptyApiTag | 3.341 ns | 0.6456 ns | 0.0354 ns | 0.0172 | 72 B |

0 commit comments

Comments
 (0)