Skip to content

Commit

Permalink
Always unroll properties under oneOf (#1268)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Oct 4, 2024
1 parent 5ceffcc commit 45dfaf8
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
19 changes: 17 additions & 2 deletions src/jsonschema/default_compiler_draft4.h
Original file line number Diff line number Diff line change
Expand Up @@ -434,17 +434,32 @@ auto compiler_draft4_applicator_properties_conditional_annotation(
: (left.second.size() < right.second.size());
});

assert(schema_context.relative_pointer.back().is_property());
assert(schema_context.relative_pointer.back().to_property() ==
dynamic_context.keyword);
const auto relative_pointer_size{schema_context.relative_pointer.size()};
const auto is_directly_inside_oneof{
relative_pointer_size > 2 &&
schema_context.relative_pointer.at(relative_pointer_size - 2)
.is_index() &&
schema_context.relative_pointer.at(relative_pointer_size - 3)
.is_property() &&
schema_context.relative_pointer.at(relative_pointer_size - 3)
.to_property() == "oneOf"};

// There are two ways to compile `properties` depending on whether
// most of the properties are marked as required using `required`
// or whether most of the properties are optional. Each shines
// in the corresponding case.

const auto prefer_loop_over_instance{
// This strategy only makes sense if most of the properties are "optional"
is_required <= (size / 2) &&
// If `properties` only defines a relatively small amount of properties,
// then its probably still faster to unroll
schema_context.schema.at(dynamic_context.keyword).size() > 5};
schema_context.schema.at(dynamic_context.keyword).size() > 5 &&
// Always unroll inside `oneOf`, to have a better chance at
// short-circuiting quickly
!is_directly_inside_oneof};

if (prefer_loop_over_instance) {
SchemaCompilerValueNamedIndexes indexes;
Expand Down
9 changes: 8 additions & 1 deletion test/evaluator/evaluator_draft4_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2925,7 +2925,14 @@ TEST(JSONSchema_evaluator_draft4, oneOf_5) {
"version": { "enum": [ 1 ] },
"one": { "items": { "type": "integer" } },
"two": { "items": { "type": "boolean" } },
"three": { "items": { "type": "object" } }
"three": { "items": { "type": "object" } },
"four": { "items": { "type": "integer" } },
"five": { "items": { "type": "boolean" } },
"six": { "items": { "type": "object" } },
"seven": { "items": { "type": "object" } },
"eight": { "items": { "type": "object" } },
"nine": { "items": { "type": "object" } },
"then": { "items": { "type": "object" } }
}
},
{
Expand Down

8 comments on commit 45dfaf8

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 3557.612159446521 ns/iter 3784.8978662231107 ns/iter 0.94
JSONSchema_Validate_Draft4_Meta_1_No_Callback 802.0955919213762 ns/iter 798.8841480558408 ns/iter 1.00
JSONSchema_Validate_Draft4_Required_Properties 939.9787673106571 ns/iter 1015.6660752904231 ns/iter 0.93
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 152.5325571330377 ns/iter 161.79997970870286 ns/iter 0.94
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 110.98616716717085 ns/iter 112.3691521948755 ns/iter 0.99
JSONSchema_Validate_Draft4_Items_Schema 2652.8616314062397 ns/iter 2818.090088091676 ns/iter 0.94
JSONSchema_Validate_Draft4_Nested_Object 1351.2280061684453 ns/iter 1441.3055751119657 ns/iter 0.94
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1356.9819038214707 ns/iter 1500.132463669815 ns/iter 0.90
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1029.6930006667005 ns/iter 1121.4930756209956 ns/iter 0.92
JSONSchema_Validate_Draft4_Properties_Triad_Required 1383.554434145945 ns/iter 1485.3545476358092 ns/iter 0.93
JSONSchema_Validate_Draft4_Non_Recursive_Ref 199.904785558836 ns/iter 208.26287991411326 ns/iter 0.96
JSONSchema_Validate_Draft4_Pattern_Properties_True 1393.6464229637224 ns/iter 1463.0809322059686 ns/iter 0.95
JSONSchema_Validate_Draft4_Ref_To_Single_Property 108.2614836737599 ns/iter 115.67794671711938 ns/iter 0.94
JSONSchema_Validate_Draft4_Additional_Properties_Type 360.0010762555084 ns/iter 378.59047267176106 ns/iter 0.95
JSONSchema_Validate_Draft4_Nested_Oneof 370.6466878600228 ns/iter 389.84884271118574 ns/iter 0.95
JSONSchema_Validate_Draft6_Property_Names 777.4036139892505 ns/iter 824.0157211933015 ns/iter 0.94
JSONSchema_Validate_Draft7_If_Then_Else 167.6508479795286 ns/iter 180.61002675001055 ns/iter 0.93
JSONSchema_Compiler_Draft6_AdaptiveCard 3000189291.999959 ns/iter 3342542166.000044 ns/iter 0.90

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 2083.6876028989655 ns/iter 2102.8682742975384 ns/iter 0.99
JSONSchema_Validate_Draft4_Meta_1_No_Callback 1037.2048407080913 ns/iter 1036.620636559516 ns/iter 1.00
JSONSchema_Validate_Draft4_Required_Properties 1661.4827327150406 ns/iter 1669.2732172160615 ns/iter 1.00
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 185.5500166577504 ns/iter 186.8406769637506 ns/iter 0.99
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 130.49251118365163 ns/iter 133.1222628404555 ns/iter 0.98
JSONSchema_Validate_Draft4_Items_Schema 4283.780727052148 ns/iter 4289.51846217136 ns/iter 1.00
JSONSchema_Validate_Draft4_Nested_Object 1717.192795551463 ns/iter 1739.19234938634 ns/iter 0.99
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1824.4177154299834 ns/iter 1835.6381803921238 ns/iter 0.99
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1518.5983997822698 ns/iter 1532.6239369146244 ns/iter 0.99
JSONSchema_Validate_Draft4_Properties_Triad_Required 1908.3089939422023 ns/iter 1920.9372444179876 ns/iter 0.99
JSONSchema_Validate_Draft4_Non_Recursive_Ref 486.7098883079436 ns/iter 486.2986283149758 ns/iter 1.00
JSONSchema_Validate_Draft4_Pattern_Properties_True 2522.1372931008727 ns/iter 2558.4363684810396 ns/iter 0.99
JSONSchema_Validate_Draft4_Ref_To_Single_Property 131.1420707989973 ns/iter 135.7339554324512 ns/iter 0.97
JSONSchema_Validate_Draft4_Additional_Properties_Type 603.3848274298349 ns/iter 605.6757889058457 ns/iter 1.00
JSONSchema_Validate_Draft4_Nested_Oneof 532.2041271730205 ns/iter 537.5680509982101 ns/iter 0.99
JSONSchema_Validate_Draft6_Property_Names 1313.6815857969107 ns/iter 1312.5223155077078 ns/iter 1.00
JSONSchema_Validate_Draft7_If_Then_Else 226.6004320611662 ns/iter 231.22807340615944 ns/iter 0.98
JSONSchema_Compiler_Draft6_AdaptiveCard 5766739982.999979 ns/iter 5673500844.000046 ns/iter 1.02

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSONSchema_Compiler_Draft6_AdaptiveCard 6225248083.999987 ns/iter 6410052627.000028 ns/iter 0.97
JSONSchema_Validate_Draft4_Meta_1_No_Callback 1081.8219977573242 ns/iter 1059.0876412458883 ns/iter 1.02
JSONSchema_Validate_Draft4_Required_Properties 2265.8699601398657 ns/iter 2368.5063835362707 ns/iter 0.96
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 191.02292728007103 ns/iter 190.48707913190503 ns/iter 1.00
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 143.33314716261862 ns/iter 138.9728414495219 ns/iter 1.03
JSONSchema_Validate_Draft4_Items_Schema 3141.66345841714 ns/iter 3062.40769395784 ns/iter 1.03
JSONSchema_Validate_Draft4_Nested_Object 1753.4799732977162 ns/iter 1727.9609674477003 ns/iter 1.01
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1684.3705622382022 ns/iter 1667.5505133436793 ns/iter 1.01
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1385.3348612367004 ns/iter 1364.7976551895158 ns/iter 1.02
JSONSchema_Validate_Draft4_Properties_Triad_Required 1758.3805186938082 ns/iter 1751.708448345078 ns/iter 1.00
JSONSchema_Validate_Draft4_Non_Recursive_Ref 466.5211749431316 ns/iter 480.813844012553 ns/iter 0.97
JSONSchema_Validate_Draft4_Pattern_Properties_True 2290.174322373654 ns/iter 2335.4275254419463 ns/iter 0.98
JSONSchema_Validate_Draft4_Ref_To_Single_Property 147.8712194543859 ns/iter 143.7310665749886 ns/iter 1.03
JSONSchema_Validate_Draft4_Additional_Properties_Type 1101.005415221975 ns/iter 1151.345635421773 ns/iter 0.96
JSONSchema_Validate_Draft4_Nested_Oneof 447.39845175750577 ns/iter 430.5515434301001 ns/iter 1.04
JSONSchema_Validate_Draft6_Property_Names 1624.9050568774837 ns/iter 1621.6906341211466 ns/iter 1.00
JSONSchema_Validate_Draft7_If_Then_Else 195.78872366754095 ns/iter 197.02103190509737 ns/iter 0.99
JSON_Array_Of_Objects_Unique 3274.3216976510857 ns/iter 3192.577458775558 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 4822.268814526007 ns/iter 5240.476999999828 ns/iter 0.92
JSONSchema_Validate_Draft4_Meta_1_No_Callback 2278.49076061346 ns/iter 2338.3346670372407 ns/iter 0.97
JSONSchema_Validate_Draft4_Required_Properties 2004.3596477211765 ns/iter 2022.3498686937967 ns/iter 0.99
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 538.3859000003213 ns/iter 539.5201785713003 ns/iter 1.00
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 411.79279425335346 ns/iter 412.2105976690715 ns/iter 1.00
JSONSchema_Validate_Draft4_Items_Schema 6488.854464285915 ns/iter 6471.800892857767 ns/iter 1.00
JSONSchema_Validate_Draft4_Nested_Object 3814.5440848223548 ns/iter 3940.3934151785843 ns/iter 0.97
JSONSchema_Validate_Draft4_Properties_Triad_Optional 5395.552678570376 ns/iter 5405.448999999861 ns/iter 1.00
JSONSchema_Validate_Draft4_Properties_Triad_Closed 4387.113749999116 ns/iter 4449.199588305518 ns/iter 0.99
JSONSchema_Validate_Draft4_Properties_Triad_Required 5469.175000005829 ns/iter 5485.45357143025 ns/iter 1.00
JSONSchema_Validate_Draft4_Non_Recursive_Ref 549.5171000002301 ns/iter 557.5144000001728 ns/iter 0.99
JSONSchema_Validate_Draft4_Pattern_Properties_True 7958.6897321450215 ns/iter 8083.485491073057 ns/iter 0.98
JSONSchema_Validate_Draft4_Ref_To_Single_Property 413.72080295876873 ns/iter 410.81234326723455 ns/iter 1.01
JSONSchema_Validate_Draft4_Additional_Properties_Type 760.8359374994426 ns/iter 773.9575892859054 ns/iter 0.98
JSONSchema_Validate_Draft4_Nested_Oneof 1082.7800000001275 ns/iter 1087.4649999998098 ns/iter 1.00
JSONSchema_Validate_Draft6_Property_Names 1827.8221242279485 ns/iter 1849.1700439018157 ns/iter 0.99
JSONSchema_Validate_Draft7_If_Then_Else 558.6395535715383 ns/iter 548.7993750000848 ns/iter 1.02
JSONSchema_Compiler_Draft6_AdaptiveCard 10201534900.000298 ns/iter 10380249499.99999 ns/iter 0.98

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 3540.578963437218 ns/iter 3784.8978662231107 ns/iter 0.94
JSONSchema_Validate_Draft4_Meta_1_No_Callback 735.0708679868125 ns/iter 798.8841480558408 ns/iter 0.92
JSONSchema_Validate_Draft4_Required_Properties 948.8039766434529 ns/iter 1015.6660752904231 ns/iter 0.93
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 151.30236699677556 ns/iter 161.79997970870286 ns/iter 0.94
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 103.7238074943724 ns/iter 112.3691521948755 ns/iter 0.92
JSONSchema_Validate_Draft4_Items_Schema 2634.9898825345285 ns/iter 2818.090088091676 ns/iter 0.94
JSONSchema_Validate_Draft4_Nested_Object 1345.62130995853 ns/iter 1441.3055751119657 ns/iter 0.93
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1347.2762681318386 ns/iter 1500.132463669815 ns/iter 0.90
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1051.2101804963718 ns/iter 1121.4930756209956 ns/iter 0.94
JSONSchema_Validate_Draft4_Properties_Triad_Required 1408.2226863593696 ns/iter 1485.3545476358092 ns/iter 0.95
JSONSchema_Validate_Draft4_Non_Recursive_Ref 194.08017710413714 ns/iter 208.26287991411326 ns/iter 0.93
JSONSchema_Validate_Draft4_Pattern_Properties_True 1366.2323419604083 ns/iter 1463.0809322059686 ns/iter 0.93
JSONSchema_Validate_Draft4_Ref_To_Single_Property 106.41904923504084 ns/iter 115.67794671711938 ns/iter 0.92
JSONSchema_Validate_Draft4_Additional_Properties_Type 359.6812899473069 ns/iter 378.59047267176106 ns/iter 0.95
JSONSchema_Validate_Draft4_Nested_Oneof 362.37054033602215 ns/iter 389.84884271118574 ns/iter 0.93
JSONSchema_Validate_Draft6_Property_Names 777.3233818271661 ns/iter 824.0157211933015 ns/iter 0.94
JSONSchema_Validate_Draft7_If_Then_Else 167.0319208544764 ns/iter 180.61002675001055 ns/iter 0.92
JSONSchema_Compiler_Draft6_AdaptiveCard 2960279666.999895 ns/iter 3342542166.000044 ns/iter 0.89

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 4831.659470231604 ns/iter 5240.476999999828 ns/iter 0.92
JSONSchema_Validate_Draft4_Meta_1_No_Callback 2256.1886649683347 ns/iter 2338.3346670372407 ns/iter 0.96
JSONSchema_Validate_Draft4_Required_Properties 1997.5654442548387 ns/iter 2022.3498686937967 ns/iter 0.99
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 534.2115999999351 ns/iter 539.5201785713003 ns/iter 0.99
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 415.5400693924241 ns/iter 412.2105976690715 ns/iter 1.01
JSONSchema_Validate_Draft4_Items_Schema 6515.488392858109 ns/iter 6471.800892857767 ns/iter 1.01
JSONSchema_Validate_Draft4_Nested_Object 3841.3934151788303 ns/iter 3940.3934151785843 ns/iter 0.97
JSONSchema_Validate_Draft4_Properties_Triad_Optional 5315.174999998362 ns/iter 5405.448999999861 ns/iter 0.98
JSONSchema_Validate_Draft4_Properties_Triad_Closed 4368.489567639011 ns/iter 4449.199588305518 ns/iter 0.98
JSONSchema_Validate_Draft4_Properties_Triad_Required 5405.30982142887 ns/iter 5485.45357143025 ns/iter 0.99
JSONSchema_Validate_Draft4_Non_Recursive_Ref 550.5695535713277 ns/iter 557.5144000001728 ns/iter 0.99
JSONSchema_Validate_Draft4_Pattern_Properties_True 7834.309151785338 ns/iter 8083.485491073057 ns/iter 0.97
JSONSchema_Validate_Draft4_Ref_To_Single_Property 415.772539474355 ns/iter 410.81234326723455 ns/iter 1.01
JSONSchema_Validate_Draft4_Additional_Properties_Type 758.4061383926357 ns/iter 773.9575892859054 ns/iter 0.98
JSONSchema_Validate_Draft4_Nested_Oneof 1086.8481250000173 ns/iter 1087.4649999998098 ns/iter 1.00
JSONSchema_Validate_Draft6_Property_Names 1829.2926154399793 ns/iter 1849.1700439018157 ns/iter 0.99
JSONSchema_Validate_Draft7_If_Then_Else 558.7499107142386 ns/iter 548.7993750000848 ns/iter 1.02
JSONSchema_Compiler_Draft6_AdaptiveCard 10402078500.000015 ns/iter 10380249499.99999 ns/iter 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSONSchema_Compiler_Draft6_AdaptiveCard 6431999513.999927 ns/iter 6410052627.000028 ns/iter 1.00
JSONSchema_Validate_Draft4_Meta_1_No_Callback 1050.396733484703 ns/iter 1059.0876412458883 ns/iter 0.99
JSONSchema_Validate_Draft4_Required_Properties 2315.626768147975 ns/iter 2368.5063835362707 ns/iter 0.98
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 193.82490294461317 ns/iter 190.48707913190503 ns/iter 1.02
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 143.57970260736687 ns/iter 138.9728414495219 ns/iter 1.03
JSONSchema_Validate_Draft4_Items_Schema 3320.1102727908865 ns/iter 3062.40769395784 ns/iter 1.08
JSONSchema_Validate_Draft4_Nested_Object 1807.5273293278744 ns/iter 1727.9609674477003 ns/iter 1.05
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1707.9759361039244 ns/iter 1667.5505133436793 ns/iter 1.02
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1396.878037105977 ns/iter 1364.7976551895158 ns/iter 1.02
JSONSchema_Validate_Draft4_Properties_Triad_Required 1799.573634933225 ns/iter 1751.708448345078 ns/iter 1.03
JSONSchema_Validate_Draft4_Non_Recursive_Ref 474.6322063535836 ns/iter 480.813844012553 ns/iter 0.99
JSONSchema_Validate_Draft4_Pattern_Properties_True 2318.7098800476 ns/iter 2335.4275254419463 ns/iter 0.99
JSONSchema_Validate_Draft4_Ref_To_Single_Property 147.5236207420083 ns/iter 143.7310665749886 ns/iter 1.03
JSONSchema_Validate_Draft4_Additional_Properties_Type 1139.9113569697524 ns/iter 1151.345635421773 ns/iter 0.99
JSONSchema_Validate_Draft4_Nested_Oneof 467.0938498910176 ns/iter 430.5515434301001 ns/iter 1.08
JSONSchema_Validate_Draft6_Property_Names 1670.7170102525863 ns/iter 1621.6906341211466 ns/iter 1.03
JSONSchema_Validate_Draft7_If_Then_Else 198.36880147591577 ns/iter 197.02103190509737 ns/iter 1.01
JSON_Array_Of_Objects_Unique 3283.073367358901 ns/iter 3192.577458775558 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Benchmark suite Current: 45dfaf8 Previous: 5ceffcc Ratio
JSON_Array_Of_Objects_Unique 2201.206288423189 ns/iter 2102.8682742975384 ns/iter 1.05
JSONSchema_Validate_Draft4_Meta_1_No_Callback 1031.680592584317 ns/iter 1036.620636559516 ns/iter 1.00
JSONSchema_Validate_Draft4_Required_Properties 1650.0888947222043 ns/iter 1669.2732172160615 ns/iter 0.99
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match 183.4139745296891 ns/iter 186.8406769637506 ns/iter 0.98
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match 129.0638515695021 ns/iter 133.1222628404555 ns/iter 0.97
JSONSchema_Validate_Draft4_Items_Schema 4277.438315776907 ns/iter 4289.51846217136 ns/iter 1.00
JSONSchema_Validate_Draft4_Nested_Object 1705.0227430468426 ns/iter 1739.19234938634 ns/iter 0.98
JSONSchema_Validate_Draft4_Properties_Triad_Optional 1829.9376568829166 ns/iter 1835.6381803921238 ns/iter 1.00
JSONSchema_Validate_Draft4_Properties_Triad_Closed 1514.969871235087 ns/iter 1532.6239369146244 ns/iter 0.99
JSONSchema_Validate_Draft4_Properties_Triad_Required 1923.133376696909 ns/iter 1920.9372444179876 ns/iter 1.00
JSONSchema_Validate_Draft4_Non_Recursive_Ref 483.060922156117 ns/iter 486.2986283149758 ns/iter 0.99
JSONSchema_Validate_Draft4_Pattern_Properties_True 2653.6219376783633 ns/iter 2558.4363684810396 ns/iter 1.04
JSONSchema_Validate_Draft4_Ref_To_Single_Property 132.07151399813935 ns/iter 135.7339554324512 ns/iter 0.97
JSONSchema_Validate_Draft4_Additional_Properties_Type 608.1058009180089 ns/iter 605.6757889058457 ns/iter 1.00
JSONSchema_Validate_Draft4_Nested_Oneof 538.9396200333166 ns/iter 537.5680509982101 ns/iter 1.00
JSONSchema_Validate_Draft6_Property_Names 1307.966190409571 ns/iter 1312.5223155077078 ns/iter 1.00
JSONSchema_Validate_Draft7_If_Then_Else 228.6877340747008 ns/iter 231.22807340615944 ns/iter 0.99
JSONSchema_Compiler_Draft6_AdaptiveCard 5624285104.000023 ns/iter 5673500844.000046 ns/iter 0.99

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.