-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prioritize smaller subschemas when unrolling
properties
(#1264)
Signed-off-by: Juan Cruz Viotti <[email protected]>
- Loading branch information
Showing
2 changed files
with
111 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b61df71
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (macos/llvm)
JSON_Array_Of_Objects_Unique
4228.983833536213
ns/iter3937.528900839911
ns/iter1.07
JSONSchema_Validate_Draft4_Meta_1_No_Callback
756.8970007657384
ns/iter806.1586002987991
ns/iter0.94
JSONSchema_Validate_Draft4_Required_Properties
944.3472298982031
ns/iter1009.7666566931343
ns/iter0.94
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match
163.10640559463337
ns/iter154.51073469189382
ns/iter1.06
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match
110.2332090922805
ns/iter113.08618920983065
ns/iter0.97
JSONSchema_Validate_Draft4_Items_Schema
2997.754831915101
ns/iter2980.5212906220127
ns/iter1.01
JSONSchema_Validate_Draft4_Nested_Object
1425.7948252337903
ns/iter1444.7322346039996
ns/iter0.99
JSONSchema_Validate_Draft4_Properties_Triad_Optional
1407.773732902339
ns/iter1418.578794682174
ns/iter0.99
JSONSchema_Validate_Draft4_Properties_Triad_Closed
1127.4141609006783
ns/iter1067.8162157467318
ns/iter1.06
JSONSchema_Validate_Draft4_Properties_Triad_Required
1447.88217283138
ns/iter1391.0498854596124
ns/iter1.04
JSONSchema_Validate_Draft4_Non_Recursive_Ref
199.9800586967782
ns/iter196.57118449831242
ns/iter1.02
JSONSchema_Validate_Draft4_Pattern_Properties_True
1422.2993634325308
ns/iter1402.889794701279
ns/iter1.01
JSONSchema_Validate_Draft4_Ref_To_Single_Property
118.82817779364315
ns/iter108.90832806301363
ns/iter1.09
JSONSchema_Validate_Draft4_Additional_Properties_Type
431.2833290797157
ns/iter368.3868667057541
ns/iter1.17
JSONSchema_Validate_Draft4_Nested_Oneof
388.48040997733597
ns/iter384.23050258074966
ns/iter1.01
JSONSchema_Validate_Draft6_Property_Names
798.4428659732785
ns/iter797.7241642313325
ns/iter1.00
JSONSchema_Validate_Draft7_If_Then_Else
175.58734697807049
ns/iter186.49332325872
ns/iter0.94
JSONSchema_Compiler_Draft6_AdaptiveCard
3289723541.9999332
ns/iter3277179000.0000463
ns/iter1.00
This comment was automatically generated by workflow using github-action-benchmark.
b61df71
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (linux/llvm)
JSON_Array_Of_Objects_Unique
2125.466187203498
ns/iter2182.9740027386756
ns/iter0.97
JSONSchema_Validate_Draft4_Meta_1_No_Callback
969.8297490641231
ns/iter963.8368892162929
ns/iter1.01
JSONSchema_Validate_Draft4_Required_Properties
1550.6650848154436
ns/iter1550.035119739843
ns/iter1.00
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match
178.66687902311585
ns/iter182.64466437376754
ns/iter0.98
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match
127.76845643075254
ns/iter129.19842384007455
ns/iter0.99
JSONSchema_Validate_Draft4_Items_Schema
4021.3208777623354
ns/iter4092.162961684643
ns/iter0.98
JSONSchema_Validate_Draft4_Nested_Object
1623.690513745676
ns/iter1613.0874931692542
ns/iter1.01
JSONSchema_Validate_Draft4_Properties_Triad_Optional
1830.8155239609716
ns/iter1812.4824625900078
ns/iter1.01
JSONSchema_Validate_Draft4_Properties_Triad_Closed
1522.9760682388805
ns/iter1537.8913410297898
ns/iter0.99
JSONSchema_Validate_Draft4_Properties_Triad_Required
1918.1837939895374
ns/iter1905.288624866176
ns/iter1.01
JSONSchema_Validate_Draft4_Non_Recursive_Ref
484.9073095400828
ns/iter480.4294362178446
ns/iter1.01
JSONSchema_Validate_Draft4_Pattern_Properties_True
2485.7303650443373
ns/iter2452.880311354559
ns/iter1.01
JSONSchema_Validate_Draft4_Ref_To_Single_Property
130.3317448280249
ns/iter132.41329101264972
ns/iter0.98
JSONSchema_Validate_Draft4_Additional_Properties_Type
607.4604941581644
ns/iter597.9042439759944
ns/iter1.02
JSONSchema_Validate_Draft4_Nested_Oneof
501.29739099998005
ns/iter489.7666872682761
ns/iter1.02
JSONSchema_Validate_Draft6_Property_Names
1266.1937730728878
ns/iter1228.6577636899522
ns/iter1.03
JSONSchema_Validate_Draft7_If_Then_Else
216.23716011899097
ns/iter215.31431444926525
ns/iter1.00
JSONSchema_Compiler_Draft6_AdaptiveCard
5718458451.999936
ns/iter5848453121.999909
ns/iter0.98
This comment was automatically generated by workflow using github-action-benchmark.
b61df71
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (linux/gcc)
JSONSchema_Compiler_Draft6_AdaptiveCard
6337498589.000006
ns/iter6433234743.000071
ns/iter0.99
JSONSchema_Validate_Draft4_Meta_1_No_Callback
1071.00218471577
ns/iter1069.5909789852094
ns/iter1.00
JSONSchema_Validate_Draft4_Required_Properties
2213.849232737453
ns/iter2215.572399811603
ns/iter1.00
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match
189.939282994826
ns/iter195.11242584902269
ns/iter0.97
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match
133.7014831079329
ns/iter136.2061426688963
ns/iter0.98
JSONSchema_Validate_Draft4_Items_Schema
3323.038183948757
ns/iter3473.737210692548
ns/iter0.96
JSONSchema_Validate_Draft4_Nested_Object
1728.2659043137805
ns/iter1754.7800964004336
ns/iter0.98
JSONSchema_Validate_Draft4_Properties_Triad_Optional
1664.5526159290514
ns/iter1714.4558625453071
ns/iter0.97
JSONSchema_Validate_Draft4_Properties_Triad_Closed
1350.834848610817
ns/iter1406.3312669506115
ns/iter0.96
JSONSchema_Validate_Draft4_Properties_Triad_Required
1752.186969079661
ns/iter1790.8074309908486
ns/iter0.98
JSONSchema_Validate_Draft4_Non_Recursive_Ref
468.0941453933242
ns/iter480.05388233589053
ns/iter0.98
JSONSchema_Validate_Draft4_Pattern_Properties_True
2260.2885569095783
ns/iter2318.8436514762325
ns/iter0.97
JSONSchema_Validate_Draft4_Ref_To_Single_Property
143.19506605534158
ns/iter142.1822246081362
ns/iter1.01
JSONSchema_Validate_Draft4_Additional_Properties_Type
1109.9155069693222
ns/iter1144.26057243759
ns/iter0.97
JSONSchema_Validate_Draft4_Nested_Oneof
429.05788632978897
ns/iter449.77776658022447
ns/iter0.95
JSONSchema_Validate_Draft6_Property_Names
1653.3827042390626
ns/iter1674.786142951919
ns/iter0.99
JSONSchema_Validate_Draft7_If_Then_Else
203.44449435695464
ns/iter210.9531054678023
ns/iter0.96
JSON_Array_Of_Objects_Unique
3192.926992207455
ns/iter3213.7175289417746
ns/iter0.99
This comment was automatically generated by workflow using github-action-benchmark.
b61df71
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (windows/msvc)
JSON_Array_Of_Objects_Unique
5175.542857142342
ns/iter5262.526999999864
ns/iter0.98
JSONSchema_Validate_Draft4_Meta_1_No_Callback
2275.7921874998033
ns/iter2280.126026645512
ns/iter1.00
JSONSchema_Validate_Draft4_Required_Properties
2082.5222349577925
ns/iter1930.8094540285438
ns/iter1.08
JSONSchema_Validate_Draft4_Many_Optional_Properties_Minimal_Match
549.6886000000814
ns/iter538.8468999999532
ns/iter1.02
JSONSchema_Validate_Draft4_Few_Optional_Properties_Minimal_Match
405.59359796460564
ns/iter403.43519181089005
ns/iter1.01
JSONSchema_Validate_Draft4_Items_Schema
6346.158035714415
ns/iter6448.38482142924
ns/iter0.98
JSONSchema_Validate_Draft4_Nested_Object
3838.726180846141
ns/iter3821.128906250796
ns/iter1.00
JSONSchema_Validate_Draft4_Properties_Triad_Optional
5329.37899999979
ns/iter5247.669000000315
ns/iter1.02
JSONSchema_Validate_Draft4_Properties_Triad_Closed
4358.736250000561
ns/iter4307.124375000626
ns/iter1.01
JSONSchema_Validate_Draft4_Properties_Triad_Required
5437.367999999196
ns/iter5352.0720000005895
ns/iter1.02
JSONSchema_Validate_Draft4_Non_Recursive_Ref
559.1048214285925
ns/iter564.8828571427852
ns/iter0.99
JSONSchema_Validate_Draft4_Pattern_Properties_True
7977.271083610246
ns/iter7874.395089285509
ns/iter1.01
JSONSchema_Validate_Draft4_Ref_To_Single_Property
413.17045741501
ns/iter410.63208434675647
ns/iter1.01
JSONSchema_Validate_Draft4_Additional_Properties_Type
798.640759535353
ns/iter795.0976562501719
ns/iter1.00
JSONSchema_Validate_Draft4_Nested_Oneof
1066.4462499999418
ns/iter1070.2284375000204
ns/iter1.00
JSONSchema_Validate_Draft6_Property_Names
1847.3172743905548
ns/iter1866.8470534505484
ns/iter0.99
JSONSchema_Validate_Draft7_If_Then_Else
566.4353571427837
ns/iter554.5963392858002
ns/iter1.02
JSONSchema_Compiler_Draft6_AdaptiveCard
11459921900.00004
ns/iter11150981799.999954
ns/iter1.03
This comment was automatically generated by workflow using github-action-benchmark.