Skip to content

Commit

Permalink
Implement a fast constant hash function for object keys (#165)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Nov 16, 2024
1 parent 713d378 commit 8242eff
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
2 changes: 1 addition & 1 deletion DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
vendorpull https://github.com/sourcemeta/vendorpull dea311b5bfb53b6926a4140267959ae334d3ecf4
noa https://github.com/sourcemeta/noa caad2e1ceedf9fd1a18686a6a6d1e2b9757ead75
jsontoolkit https://github.com/sourcemeta/jsontoolkit a64204f6f69b12021bd1802143f61244f5ea9619
jsontoolkit https://github.com/sourcemeta/jsontoolkit 117a478711f0aaec0e77a6bee3af0c5030340bb7
googletest https://github.com/google/googletest a7f443b80b105f940225332ed3c31f2790092f47
googlebenchmark https://github.com/google/benchmark 378fe693a1ef51500db21b11ff05a8018c5f0e55
jsonschema-test-suite https://github.com/json-schema-org/JSON-Schema-Test-Suite c2badb1298a8698f86dadf1aea7b44b3a894e5ac

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 comments on commit 8242eff

@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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 57342659128.00004 ns/iter 57287627280.99997 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 11022396435.99995 ns/iter 11458632446.000025 ns/iter 0.96
Evaluator_Draft4_Meta_1_No_Callback 709.6876390081429 ns/iter 696.8189807345999 ns/iter 1.02
Evaluator_Draft4_Required_Properties 1095.2019778978188 ns/iter 1351.684978050873 ns/iter 0.81
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 130.36959758888716 ns/iter 128.35457982192702 ns/iter 1.02
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 89.13106416005883 ns/iter 91.49834376954708 ns/iter 0.97
Evaluator_Draft4_Items_Schema 1912.8735120919555 ns/iter 1909.28338874922 ns/iter 1.00
Evaluator_Draft4_Nested_Object 29.641688653598614 ns/iter 29.404818268336523 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 1611.8951113419364 ns/iter 1650.3808396593067 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Closed 1306.7988068757736 ns/iter 1347.2152142077398 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Required 1557.2369819554606 ns/iter 1699.4523765731133 ns/iter 0.92
Evaluator_Draft4_Non_Recursive_Ref 77.98650301175742 ns/iter 77.23213969983047 ns/iter 1.01
Evaluator_Draft4_Pattern_Properties_True 2183.487421432799 ns/iter 2380.513313251861 ns/iter 0.92
Evaluator_Draft4_Ref_To_Single_Property 90.79653050918718 ns/iter 96.78607728621039 ns/iter 0.94
Evaluator_Draft4_Additional_Properties_Type 102.1850896772851 ns/iter 100.55784965427836 ns/iter 1.02
Evaluator_Draft4_Nested_Oneof 268.49536340096176 ns/iter 264.340916173621 ns/iter 1.02
Evaluator_Draft6_Property_Names 870.9221040062646 ns/iter 1077.5165692516694 ns/iter 0.81
Evaluator_Draft7_If_Then_Else 158.14842427213566 ns/iter 161.29826887730687 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 401.4447375217658 ns/iter 384.7735828385865 ns/iter 1.04
Evaluator_2019_09_OMC_JSON_V2_1 11694.167694288035 ns/iter 12460.806699256009 ns/iter 0.94
Evaluator_2020_12_Dynamic_Ref 1363.8874793906848 ns/iter 1317.056432049117 ns/iter 1.04

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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 39219556457.99994 ns/iter 33117607082.99994 ns/iter 1.18
Compiler_2019_09_OMC_JSON_V2 9487457833.000008 ns/iter 6698535250.000077 ns/iter 1.42
Evaluator_Draft4_Meta_1_No_Callback 533.4311416952017 ns/iter 513.7566081119455 ns/iter 1.04
Evaluator_Draft4_Required_Properties 600.5525578118693 ns/iter 732.0178695020867 ns/iter 0.82
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 106.37756768176915 ns/iter 100.02262072338372 ns/iter 1.06
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 68.07076898490853 ns/iter 65.6954194814718 ns/iter 1.04
Evaluator_Draft4_Items_Schema 1353.6308570096683 ns/iter 1216.693778136817 ns/iter 1.11
Evaluator_Draft4_Nested_Object 20.74147628749369 ns/iter 19.791268826037733 ns/iter 1.05
Evaluator_Draft4_Properties_Triad_Optional 1325.0243838398685 ns/iter 1170.9814862402102 ns/iter 1.13
Evaluator_Draft4_Properties_Triad_Closed 901.1643483159262 ns/iter 860.05758686682 ns/iter 1.05
Evaluator_Draft4_Properties_Triad_Required 1226.7393869872378 ns/iter 1153.1554035528789 ns/iter 1.06
Evaluator_Draft4_Non_Recursive_Ref 54.159054298022575 ns/iter 48.35639243886681 ns/iter 1.12
Evaluator_Draft4_Pattern_Properties_True 1417.1623200729243 ns/iter 1325.5867848583425 ns/iter 1.07
Evaluator_Draft4_Ref_To_Single_Property 70.0015170183556 ns/iter 66.38268477520465 ns/iter 1.05
Evaluator_Draft4_Additional_Properties_Type 67.05005930515544 ns/iter 63.471075397421764 ns/iter 1.06
Evaluator_Draft4_Nested_Oneof 203.33411074475165 ns/iter 188.2863719115099 ns/iter 1.08
Evaluator_Draft6_Property_Names 554.9776098766654 ns/iter 622.5232904543986 ns/iter 0.89
Evaluator_Draft7_If_Then_Else 129.02529993476358 ns/iter 121.31851762733906 ns/iter 1.06
Evaluator_2019_09_Unevaluated_Properties 342.5473202718276 ns/iter 310.84945731047793 ns/iter 1.10
Evaluator_2019_09_OMC_JSON_V2_1 9985.279975946856 ns/iter 9761.362698959583 ns/iter 1.02
Evaluator_2020_12_Dynamic_Ref 1332.7957089120403 ns/iter 1136.601550221143 ns/iter 1.17

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/gcc)

Benchmark suite Current: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 41876000165.93933 ns/iter 41770253896.71326 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 7757064104.0802 ns/iter 8114820003.5095215 ns/iter 0.96
Evaluator_Draft4_Meta_1_No_Callback 506.24605861855537 ns/iter 483.66631665758285 ns/iter 1.05
Evaluator_Draft4_Required_Properties 652.2386010197233 ns/iter 759.5530533780333 ns/iter 0.86
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 112.09295831567002 ns/iter 109.55194981987553 ns/iter 1.02
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 81.75619296721571 ns/iter 77.32787181917548 ns/iter 1.06
Evaluator_Draft4_Items_Schema 1290.051522421769 ns/iter 1237.1965013369318 ns/iter 1.04
Evaluator_Draft4_Nested_Object 23.880622647467888 ns/iter 23.83016526640211 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1364.5150975623965 ns/iter 1375.1288862863516 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Closed 1134.2745538693525 ns/iter 1168.1664218957628 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Required 1238.1931331694075 ns/iter 1372.1895706811606 ns/iter 0.90
Evaluator_Draft4_Non_Recursive_Ref 60.67560739528078 ns/iter 60.81093194723088 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 1701.708218928857 ns/iter 1926.436296356255 ns/iter 0.88
Evaluator_Draft4_Ref_To_Single_Property 75.54759790897161 ns/iter 77.65402255262586 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 74.74555191661236 ns/iter 74.56432653590795 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 192.1351970429132 ns/iter 190.08244736356343 ns/iter 1.01
Evaluator_Draft6_Property_Names 606.8799279607318 ns/iter 810.363082174786 ns/iter 0.75
Evaluator_Draft7_If_Then_Else 126.66478787142243 ns/iter 124.9772965430655 ns/iter 1.01
Evaluator_2019_09_Unevaluated_Properties 324.0459165300646 ns/iter 323.90001733456654 ns/iter 1.00
Evaluator_2019_09_OMC_JSON_V2_1 7447.052932337364 ns/iter 7677.104637488619 ns/iter 0.97
Evaluator_2020_12_Dynamic_Ref 1110.0255493582495 ns/iter 1094.3166207743418 ns/iter 1.01

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: 8242eff Previous: 713d378 Ratio
Evaluator_2020_12_Dynamic_Ref 1334.8961311567025 ns/iter 1342.2459448166285 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 413.4283611551533 ns/iter 408.07695331379426 ns/iter 1.01
Evaluator_2019_09_OMC_JSON_V2_1 14059.28374583312 ns/iter 14166.536446032318 ns/iter 0.99
Evaluator_Draft7_If_Then_Else 149.88011873697465 ns/iter 146.9042662845518 ns/iter 1.02
Evaluator_Draft6_Property_Names 1561.1488255282097 ns/iter 1544.4849388511327 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 772.3592345338382 ns/iter 782.7316056331518 ns/iter 0.99
Evaluator_Draft4_Required_Properties 1980.2826345371445 ns/iter 1978.5816863790603 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 133.52374302396882 ns/iter 133.4981706808087 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 100.86245428613468 ns/iter 98.80365012383797 ns/iter 1.02
Evaluator_Draft4_Items_Schema 1538.1927714289661 ns/iter 1536.0511294971902 ns/iter 1.00
Evaluator_Draft4_Nested_Object 26.729918503940382 ns/iter 26.434745291335446 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 1589.824750807836 ns/iter 1583.4817766010676 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 1294.0769180756179 ns/iter 1287.1567339093253 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Required 1636.4294640965434 ns/iter 1627.3668966830842 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 95.24663179570175 ns/iter 95.64883475171723 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 2201.001168043172 ns/iter 2234.5607472163297 ns/iter 0.98
Evaluator_Draft4_Ref_To_Single_Property 103.83267010429397 ns/iter 102.28481474385143 ns/iter 1.02
Evaluator_Draft4_Additional_Properties_Type 149.40872531768812 ns/iter 149.40032786639998 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 231.32255637360552 ns/iter 235.5991678525705 ns/iter 0.98
Compiler_2019_09_OMC_JSON_V2 11265886540.999987 ns/iter 11275233382.00001 ns/iter 1.00
Compiler_Draft6_AdaptiveCard 65249441817.000046 ns/iter 64919352965.00003 ns/iter 1.01

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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 120018025299.99997 ns/iter 123719615700.00008 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 25458890200.000042 ns/iter 23923544300.000004 ns/iter 1.06
Evaluator_Draft4_Meta_1_No_Callback 1472.7725446428103 ns/iter 1525.0390625004075 ns/iter 0.97
Evaluator_Draft4_Required_Properties 1471.5187499998449 ns/iter 1498.9017857145777 ns/iter 0.98
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 352.67638791488685 ns/iter 353.0446764751757 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 242.44801981608566 ns/iter 250.19089285714404 ns/iter 0.97
Evaluator_Draft4_Items_Schema 3179.7598214287705 ns/iter 3238.890625000173 ns/iter 0.98
Evaluator_Draft4_Nested_Object 110.70545312501068 ns/iter 113.56739062499345 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Optional 5120.175999999219 ns/iter 5129.867000000559 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 4165.856489541763 ns/iter 4147.655581403531 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 5102.057999999943 ns/iter 5059.966000001168 ns/iter 1.01
Evaluator_Draft4_Non_Recursive_Ref 250.21025000000918 ns/iter 261.0234759385007 ns/iter 0.96
Evaluator_Draft4_Pattern_Properties_True 8081.510044643129 ns/iter 8013.911830356031 ns/iter 1.01
Evaluator_Draft4_Ref_To_Single_Property 247.58717857139345 ns/iter 255.51486854984392 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 334.6393179124186 ns/iter 343.4161574256636 ns/iter 0.97
Evaluator_Draft4_Nested_Oneof 549.092589285749 ns/iter 564.9666999997862 ns/iter 0.97
Evaluator_Draft6_Property_Names 1537.940608062137 ns/iter 1727.2284192667405 ns/iter 0.89
Evaluator_Draft7_If_Then_Else 372.60989774827385 ns/iter 389.07059151784193 ns/iter 0.96
Evaluator_2019_09_Unevaluated_Properties 938.5025720970764 ns/iter 978.502343750165 ns/iter 0.96
Evaluator_2019_09_OMC_JSON_V2_1 17508.917916865776 ns/iter 18508.740256609934 ns/iter 0.95
Evaluator_2020_12_Dynamic_Ref 3048.949553571236 ns/iter 3080.3141792024167 ns/iter 0.99

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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 31973251457.999935 ns/iter 33117607082.99994 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 6748371084.000041 ns/iter 6698535250.000077 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 487.14828154417705 ns/iter 513.7566081119455 ns/iter 0.95
Evaluator_Draft4_Required_Properties 551.8400924310132 ns/iter 732.0178695020867 ns/iter 0.75
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 98.50803376913204 ns/iter 100.02262072338372 ns/iter 0.98
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 63.224622500441605 ns/iter 65.6954194814718 ns/iter 0.96
Evaluator_Draft4_Items_Schema 1222.6070428427531 ns/iter 1216.693778136817 ns/iter 1.00
Evaluator_Draft4_Nested_Object 19.578535483038028 ns/iter 19.791268826037733 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Optional 1128.8840320839536 ns/iter 1170.9814862402102 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Closed 876.5019239947367 ns/iter 860.05758686682 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 1183.5755310252662 ns/iter 1153.1554035528789 ns/iter 1.03
Evaluator_Draft4_Non_Recursive_Ref 49.20778993411251 ns/iter 48.35639243886681 ns/iter 1.02
Evaluator_Draft4_Pattern_Properties_True 1280.1903196408075 ns/iter 1325.5867848583425 ns/iter 0.97
Evaluator_Draft4_Ref_To_Single_Property 64.06490386453697 ns/iter 66.38268477520465 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 63.447960310932665 ns/iter 63.471075397421764 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 183.9918237920949 ns/iter 188.2863719115099 ns/iter 0.98
Evaluator_Draft6_Property_Names 487.1080729291987 ns/iter 622.5232904543986 ns/iter 0.78
Evaluator_Draft7_If_Then_Else 126.56046726839156 ns/iter 121.31851762733906 ns/iter 1.04
Evaluator_2019_09_Unevaluated_Properties 329.94709849086007 ns/iter 310.84945731047793 ns/iter 1.06
Evaluator_2019_09_OMC_JSON_V2_1 7886.077330625213 ns/iter 9761.362698959583 ns/iter 0.81
Evaluator_2020_12_Dynamic_Ref 1044.4290659271792 ns/iter 1136.601550221143 ns/iter 0.92

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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 57167800861.99998 ns/iter 57287627280.99997 ns/iter 1.00
Compiler_2019_09_OMC_JSON_V2 10939484106.00001 ns/iter 11458632446.000025 ns/iter 0.95
Evaluator_Draft4_Meta_1_No_Callback 701.588102430235 ns/iter 696.8189807345999 ns/iter 1.01
Evaluator_Draft4_Required_Properties 1093.4245276283905 ns/iter 1351.684978050873 ns/iter 0.81
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 130.6472537503361 ns/iter 128.35457982192702 ns/iter 1.02
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 87.23657750419403 ns/iter 91.49834376954708 ns/iter 0.95
Evaluator_Draft4_Items_Schema 1906.3142642631574 ns/iter 1909.28338874922 ns/iter 1.00
Evaluator_Draft4_Nested_Object 28.155033816126846 ns/iter 29.404818268336523 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Optional 1579.4151897701586 ns/iter 1650.3808396593067 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Closed 1286.5309977107165 ns/iter 1347.2152142077398 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Required 1539.0613545326335 ns/iter 1699.4523765731133 ns/iter 0.91
Evaluator_Draft4_Non_Recursive_Ref 76.48122326241149 ns/iter 77.23213969983047 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 2172.300513571673 ns/iter 2380.513313251861 ns/iter 0.91
Evaluator_Draft4_Ref_To_Single_Property 87.65603629350203 ns/iter 96.78607728621039 ns/iter 0.91
Evaluator_Draft4_Additional_Properties_Type 101.42707308443516 ns/iter 100.55784965427836 ns/iter 1.01
Evaluator_Draft4_Nested_Oneof 266.97566062326297 ns/iter 264.340916173621 ns/iter 1.01
Evaluator_Draft6_Property_Names 875.1250898616694 ns/iter 1077.5165692516694 ns/iter 0.81
Evaluator_Draft7_If_Then_Else 157.17779821945211 ns/iter 161.29826887730687 ns/iter 0.97
Evaluator_2019_09_Unevaluated_Properties 390.60581564080434 ns/iter 384.7735828385865 ns/iter 1.02
Evaluator_2019_09_OMC_JSON_V2_1 11843.131426113643 ns/iter 12460.806699256009 ns/iter 0.95
Evaluator_2020_12_Dynamic_Ref 1353.3799110247792 ns/iter 1317.056432049117 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/gcc)

Benchmark suite Current: 8242eff Previous: 713d378 Ratio
Evaluator_2020_12_Dynamic_Ref 1316.295693536998 ns/iter 1342.2459448166285 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 412.2172943337252 ns/iter 408.07695331379426 ns/iter 1.01
Evaluator_2019_09_OMC_JSON_V2_1 14177.429939270487 ns/iter 14166.536446032318 ns/iter 1.00
Evaluator_Draft7_If_Then_Else 147.57479455359194 ns/iter 146.9042662845518 ns/iter 1.00
Evaluator_Draft6_Property_Names 1563.4194711912103 ns/iter 1544.4849388511327 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 772.8555664393107 ns/iter 782.7316056331518 ns/iter 0.99
Evaluator_Draft4_Required_Properties 1992.6365521556052 ns/iter 1978.5816863790603 ns/iter 1.01
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 134.31708093635 ns/iter 133.4981706808087 ns/iter 1.01
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 101.90551827917677 ns/iter 98.80365012383797 ns/iter 1.03
Evaluator_Draft4_Items_Schema 1530.0094759266779 ns/iter 1536.0511294971902 ns/iter 1.00
Evaluator_Draft4_Nested_Object 26.443034181671017 ns/iter 26.434745291335446 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Optional 1628.5236324185807 ns/iter 1583.4817766010676 ns/iter 1.03
Evaluator_Draft4_Properties_Triad_Closed 1313.554367894801 ns/iter 1287.1567339093253 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 1674.5818382056993 ns/iter 1627.3668966830842 ns/iter 1.03
Evaluator_Draft4_Non_Recursive_Ref 95.56518893834719 ns/iter 95.64883475171723 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 2299.189785623988 ns/iter 2234.5607472163297 ns/iter 1.03
Evaluator_Draft4_Ref_To_Single_Property 105.11885527447133 ns/iter 102.28481474385143 ns/iter 1.03
Evaluator_Draft4_Additional_Properties_Type 149.97376022210116 ns/iter 149.40032786639998 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 232.24952618158102 ns/iter 235.5991678525705 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 11435741883.99998 ns/iter 11275233382.00001 ns/iter 1.01
Compiler_Draft6_AdaptiveCard 66237652840.00001 ns/iter 64919352965.00003 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 (macos/gcc)

Benchmark suite Current: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 43523161172.86682 ns/iter 41770253896.71326 ns/iter 1.04
Compiler_2019_09_OMC_JSON_V2 8374248027.801514 ns/iter 8114820003.5095215 ns/iter 1.03
Evaluator_Draft4_Meta_1_No_Callback 512.9872248169065 ns/iter 483.66631665758285 ns/iter 1.06
Evaluator_Draft4_Required_Properties 784.2157821668765 ns/iter 759.5530533780333 ns/iter 1.03
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 117.71671113567947 ns/iter 109.55194981987553 ns/iter 1.07
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 78.61373884634844 ns/iter 77.32787181917548 ns/iter 1.02
Evaluator_Draft4_Items_Schema 1379.7519190896687 ns/iter 1237.1965013369318 ns/iter 1.12
Evaluator_Draft4_Nested_Object 25.525719574426898 ns/iter 23.83016526640211 ns/iter 1.07
Evaluator_Draft4_Properties_Triad_Optional 1393.4443015354727 ns/iter 1375.1288862863516 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Closed 1189.47618594083 ns/iter 1168.1664218957628 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 1299.2104311436506 ns/iter 1372.1895706811606 ns/iter 0.95
Evaluator_Draft4_Non_Recursive_Ref 63.02754886587993 ns/iter 60.81093194723088 ns/iter 1.04
Evaluator_Draft4_Pattern_Properties_True 1817.713167447649 ns/iter 1926.436296356255 ns/iter 0.94
Evaluator_Draft4_Ref_To_Single_Property 78.9311789604448 ns/iter 77.65402255262586 ns/iter 1.02
Evaluator_Draft4_Additional_Properties_Type 80.14703960360636 ns/iter 74.56432653590795 ns/iter 1.07
Evaluator_Draft4_Nested_Oneof 208.26338068963761 ns/iter 190.08244736356343 ns/iter 1.10
Evaluator_Draft6_Property_Names 645.8935035940946 ns/iter 810.363082174786 ns/iter 0.80
Evaluator_Draft7_If_Then_Else 128.72761541986685 ns/iter 124.9772965430655 ns/iter 1.03
Evaluator_2019_09_Unevaluated_Properties 336.1967169052891 ns/iter 323.90001733456654 ns/iter 1.04
Evaluator_2019_09_OMC_JSON_V2_1 7523.231969774428 ns/iter 7677.104637488619 ns/iter 0.98
Evaluator_2020_12_Dynamic_Ref 1124.7875025327955 ns/iter 1094.3166207743418 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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 120024077499.99997 ns/iter 123719615700.00008 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 25144932799.999992 ns/iter 23923544300.000004 ns/iter 1.05
Evaluator_Draft4_Meta_1_No_Callback 1430.6934014761782 ns/iter 1525.0390625004075 ns/iter 0.94
Evaluator_Draft4_Required_Properties 1486.9835549180127 ns/iter 1498.9017857145777 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 334.32689598856547 ns/iter 353.0446764751757 ns/iter 0.95
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 249.35553571428468 ns/iter 250.19089285714404 ns/iter 1.00
Evaluator_Draft4_Items_Schema 3226.8316964285355 ns/iter 3238.890625000173 ns/iter 1.00
Evaluator_Draft4_Nested_Object 109.69320312499421 ns/iter 113.56739062499345 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Optional 5034.21000000003 ns/iter 5129.867000000559 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Closed 4112.652799370804 ns/iter 4147.655581403531 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Required 5055.0220000002355 ns/iter 5059.966000001168 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 252.40335714284714 ns/iter 261.0234759385007 ns/iter 0.97
Evaluator_Draft4_Pattern_Properties_True 7924.893973214609 ns/iter 8013.911830356031 ns/iter 0.99
Evaluator_Draft4_Ref_To_Single_Property 248.06933615295995 ns/iter 255.51486854984392 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 338.4458497571817 ns/iter 343.4161574256636 ns/iter 0.99
Evaluator_Draft4_Nested_Oneof 570.6089999999904 ns/iter 564.9666999997862 ns/iter 1.01
Evaluator_Draft6_Property_Names 1513.2611295125748 ns/iter 1727.2284192667405 ns/iter 0.88
Evaluator_Draft7_If_Then_Else 373.793183251231 ns/iter 389.07059151784193 ns/iter 0.96
Evaluator_2019_09_Unevaluated_Properties 949.6628125001295 ns/iter 978.502343750165 ns/iter 0.97
Evaluator_2019_09_OMC_JSON_V2_1 17311.17194981034 ns/iter 18508.740256609934 ns/iter 0.94
Evaluator_2020_12_Dynamic_Ref 3025.079464285747 ns/iter 3080.3141792024167 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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 31291639375.000046 ns/iter 33117607082.99994 ns/iter 0.94
Compiler_2019_09_OMC_JSON_V2 6571359332.999919 ns/iter 6698535250.000077 ns/iter 0.98
Evaluator_Draft4_Meta_1_No_Callback 484.9673193458705 ns/iter 513.7566081119455 ns/iter 0.94
Evaluator_Draft4_Required_Properties 539.0459458280483 ns/iter 732.0178695020867 ns/iter 0.74
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 94.8542922835574 ns/iter 100.02262072338372 ns/iter 0.95
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 61.880114629164865 ns/iter 65.6954194814718 ns/iter 0.94
Evaluator_Draft4_Items_Schema 1180.3225593876352 ns/iter 1216.693778136817 ns/iter 0.97
Evaluator_Draft4_Nested_Object 19.261921241223035 ns/iter 19.791268826037733 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Optional 1124.0000494062226 ns/iter 1170.9814862402102 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Closed 814.875243466584 ns/iter 860.05758686682 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Required 1105.6933279017292 ns/iter 1153.1554035528789 ns/iter 0.96
Evaluator_Draft4_Non_Recursive_Ref 46.72936390986542 ns/iter 48.35639243886681 ns/iter 0.97
Evaluator_Draft4_Pattern_Properties_True 1267.4226914582648 ns/iter 1325.5867848583425 ns/iter 0.96
Evaluator_Draft4_Ref_To_Single_Property 64.42907097513138 ns/iter 66.38268477520465 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 60.77650917744998 ns/iter 63.471075397421764 ns/iter 0.96
Evaluator_Draft4_Nested_Oneof 181.21706332367617 ns/iter 188.2863719115099 ns/iter 0.96
Evaluator_Draft6_Property_Names 476.4522744410623 ns/iter 622.5232904543986 ns/iter 0.77
Evaluator_Draft7_If_Then_Else 116.79004373154962 ns/iter 121.31851762733906 ns/iter 0.96
Evaluator_2019_09_Unevaluated_Properties 294.23217299040033 ns/iter 310.84945731047793 ns/iter 0.95
Evaluator_2019_09_OMC_JSON_V2_1 7832.185436145683 ns/iter 9761.362698959583 ns/iter 0.80
Evaluator_2020_12_Dynamic_Ref 1015.7972679089194 ns/iter 1136.601550221143 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 (linux/llvm)

Benchmark suite Current: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 58656327284.000046 ns/iter 57287627280.99997 ns/iter 1.02
Compiler_2019_09_OMC_JSON_V2 11029887351.000013 ns/iter 11458632446.000025 ns/iter 0.96
Evaluator_Draft4_Meta_1_No_Callback 710.7231261966888 ns/iter 696.8189807345999 ns/iter 1.02
Evaluator_Draft4_Required_Properties 1112.8009491637536 ns/iter 1351.684978050873 ns/iter 0.82
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 127.7140790304338 ns/iter 128.35457982192702 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 88.4862823693509 ns/iter 91.49834376954708 ns/iter 0.97
Evaluator_Draft4_Items_Schema 1911.050461101069 ns/iter 1909.28338874922 ns/iter 1.00
Evaluator_Draft4_Nested_Object 29.578458001012798 ns/iter 29.404818268336523 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 1599.6877331786256 ns/iter 1650.3808396593067 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Closed 1281.2071543018865 ns/iter 1347.2152142077398 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Required 1543.4118240099049 ns/iter 1699.4523765731133 ns/iter 0.91
Evaluator_Draft4_Non_Recursive_Ref 77.55470151558609 ns/iter 77.23213969983047 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 2189.4378076971175 ns/iter 2380.513313251861 ns/iter 0.92
Evaluator_Draft4_Ref_To_Single_Property 88.80740605559598 ns/iter 96.78607728621039 ns/iter 0.92
Evaluator_Draft4_Additional_Properties_Type 101.26726209986977 ns/iter 100.55784965427836 ns/iter 1.01
Evaluator_Draft4_Nested_Oneof 267.99624630436705 ns/iter 264.340916173621 ns/iter 1.01
Evaluator_Draft6_Property_Names 893.0530702017048 ns/iter 1077.5165692516694 ns/iter 0.83
Evaluator_Draft7_If_Then_Else 157.83150351213658 ns/iter 161.29826887730687 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 381.6299097601865 ns/iter 384.7735828385865 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 11920.596438518918 ns/iter 12460.806699256009 ns/iter 0.96
Evaluator_2020_12_Dynamic_Ref 1371.8075738365008 ns/iter 1317.056432049117 ns/iter 1.04

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: 8242eff Previous: 713d378 Ratio
Evaluator_2020_12_Dynamic_Ref 1318.1500423007574 ns/iter 1342.2459448166285 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 404.693585570588 ns/iter 408.07695331379426 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 14251.693383130672 ns/iter 14166.536446032318 ns/iter 1.01
Evaluator_Draft7_If_Then_Else 146.22661436310665 ns/iter 146.9042662845518 ns/iter 1.00
Evaluator_Draft6_Property_Names 1529.4874233370401 ns/iter 1544.4849388511327 ns/iter 0.99
Evaluator_Draft4_Meta_1_No_Callback 760.7858064613256 ns/iter 782.7316056331518 ns/iter 0.97
Evaluator_Draft4_Required_Properties 1989.231567244302 ns/iter 1978.5816863790603 ns/iter 1.01
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 132.06443705765284 ns/iter 133.4981706808087 ns/iter 0.99
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 97.01944931205378 ns/iter 98.80365012383797 ns/iter 0.98
Evaluator_Draft4_Items_Schema 1578.0392720741252 ns/iter 1536.0511294971902 ns/iter 1.03
Evaluator_Draft4_Nested_Object 26.284575160213535 ns/iter 26.434745291335446 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Optional 1590.10073623296 ns/iter 1583.4817766010676 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 1288.4176723249411 ns/iter 1287.1567339093253 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 1627.5158728683743 ns/iter 1627.3668966830842 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 94.87291019850115 ns/iter 95.64883475171723 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 2235.2400302961555 ns/iter 2234.5607472163297 ns/iter 1.00
Evaluator_Draft4_Ref_To_Single_Property 100.94591594000536 ns/iter 102.28481474385143 ns/iter 0.99
Evaluator_Draft4_Additional_Properties_Type 149.52410450289906 ns/iter 149.40032786639998 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 230.21273567899905 ns/iter 235.5991678525705 ns/iter 0.98
Compiler_2019_09_OMC_JSON_V2 11219970020.999994 ns/iter 11275233382.00001 ns/iter 1.00
Compiler_Draft6_AdaptiveCard 65180781747.000084 ns/iter 64919352965.00003 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 (macos/gcc)

Benchmark suite Current: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 47036839008.3313 ns/iter 41770253896.71326 ns/iter 1.13
Compiler_2019_09_OMC_JSON_V2 8476594924.926758 ns/iter 8114820003.5095215 ns/iter 1.04
Evaluator_Draft4_Meta_1_No_Callback 569.0227235350648 ns/iter 483.66631665758285 ns/iter 1.18
Evaluator_Draft4_Required_Properties 717.9275369612184 ns/iter 759.5530533780333 ns/iter 0.95
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 120.25284606693224 ns/iter 109.55194981987553 ns/iter 1.10
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 77.67931911630862 ns/iter 77.32787181917548 ns/iter 1.00
Evaluator_Draft4_Items_Schema 1281.0423439448111 ns/iter 1237.1965013369318 ns/iter 1.04
Evaluator_Draft4_Nested_Object 25.957688501326025 ns/iter 23.83016526640211 ns/iter 1.09
Evaluator_Draft4_Properties_Triad_Optional 1407.342136951041 ns/iter 1375.1288862863516 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Closed 1217.9130513485698 ns/iter 1168.1664218957628 ns/iter 1.04
Evaluator_Draft4_Properties_Triad_Required 1326.2886692967925 ns/iter 1372.1895706811606 ns/iter 0.97
Evaluator_Draft4_Non_Recursive_Ref 64.81134443170322 ns/iter 60.81093194723088 ns/iter 1.07
Evaluator_Draft4_Pattern_Properties_True 1736.4175322710178 ns/iter 1926.436296356255 ns/iter 0.90
Evaluator_Draft4_Ref_To_Single_Property 82.12192422407297 ns/iter 77.65402255262586 ns/iter 1.06
Evaluator_Draft4_Additional_Properties_Type 78.85375325367309 ns/iter 74.56432653590795 ns/iter 1.06
Evaluator_Draft4_Nested_Oneof 206.2100502897471 ns/iter 190.08244736356343 ns/iter 1.08
Evaluator_Draft6_Property_Names 658.8780703121685 ns/iter 810.363082174786 ns/iter 0.81
Evaluator_Draft7_If_Then_Else 127.54048709705796 ns/iter 124.9772965430655 ns/iter 1.02
Evaluator_2019_09_Unevaluated_Properties 357.12492685689654 ns/iter 323.90001733456654 ns/iter 1.10
Evaluator_2019_09_OMC_JSON_V2_1 8122.096170701714 ns/iter 7677.104637488619 ns/iter 1.06
Evaluator_2020_12_Dynamic_Ref 1201.3678142356707 ns/iter 1094.3166207743418 ns/iter 1.10

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: 8242eff Previous: 713d378 Ratio
Compiler_Draft6_AdaptiveCard 120297761299.99982 ns/iter 123719615700.00008 ns/iter 0.97
Compiler_2019_09_OMC_JSON_V2 25351995300 ns/iter 23923544300.000004 ns/iter 1.06
Evaluator_Draft4_Meta_1_No_Callback 1489.2087053571652 ns/iter 1525.0390625004075 ns/iter 0.98
Evaluator_Draft4_Required_Properties 1460.889955357203 ns/iter 1498.9017857145777 ns/iter 0.97
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 361.4998104464673 ns/iter 353.0446764751757 ns/iter 1.02
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 244.88160213375423 ns/iter 250.19089285714404 ns/iter 0.98
Evaluator_Draft4_Items_Schema 3197.3524958640774 ns/iter 3238.890625000173 ns/iter 0.99
Evaluator_Draft4_Nested_Object 111.81003124999478 ns/iter 113.56739062499345 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Optional 5183.61428571471 ns/iter 5129.867000000559 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Closed 4224.37713197426 ns/iter 4147.655581403531 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 5160.114285715167 ns/iter 5059.966000001168 ns/iter 1.02
Evaluator_Draft4_Non_Recursive_Ref 252.65964285714355 ns/iter 261.0234759385007 ns/iter 0.97
Evaluator_Draft4_Pattern_Properties_True 8195.38216347032 ns/iter 8013.911830356031 ns/iter 1.02
Evaluator_Draft4_Ref_To_Single_Property 247.46239285710607 ns/iter 255.51486854984392 ns/iter 0.97
Evaluator_Draft4_Additional_Properties_Type 337.81745306830015 ns/iter 343.4161574256636 ns/iter 0.98
Evaluator_Draft4_Nested_Oneof 562.9029464285752 ns/iter 564.9666999997862 ns/iter 1.00
Evaluator_Draft6_Property_Names 1535.709693879318 ns/iter 1727.2284192667405 ns/iter 0.89
Evaluator_Draft7_If_Then_Else 374.8181652110928 ns/iter 389.07059151784193 ns/iter 0.96
Evaluator_2019_09_Unevaluated_Properties 935.5809216156622 ns/iter 978.502343750165 ns/iter 0.96
Evaluator_2019_09_OMC_JSON_V2_1 16963.599086602462 ns/iter 18508.740256609934 ns/iter 0.92
Evaluator_2020_12_Dynamic_Ref 3117.904464285662 ns/iter 3080.3141792024167 ns/iter 1.01

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

Please sign in to comment.