Skip to content

Use std::unordered_set to store supported vocabularies#501

Merged
jviotti merged 1 commit into
mainfrom
unordered-set-vocabulary-check
Aug 29, 2025
Merged

Use std::unordered_set to store supported vocabularies#501
jviotti merged 1 commit into
mainfrom
unordered-set-vocabulary-check

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Aug 29, 2025

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/llvm)

Details
Benchmark suite Current: 19d8928 Previous: 74070b1 Ratio
Compiler_Draft6_AdaptiveCard 52905156232.999954 ns/iter 53281248010.000015 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 7170971687.000019 ns/iter 7273942228.999999 ns/iter 0.99
Evaluator_Draft4_Meta_1_No_Callback 284.67972630944865 ns/iter 283.05050494802003 ns/iter 1.01
Evaluator_Draft4_Required_Properties 712.7305362083714 ns/iter 704.8071666328211 ns/iter 1.01
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 32.24137978503343 ns/iter 33.31962296256155 ns/iter 0.97
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 13.706234781169588 ns/iter 12.817565420846606 ns/iter 1.07
Evaluator_Draft4_Items_Schema 623.81450209805 ns/iter 632.3559376334694 ns/iter 0.99
Evaluator_Draft4_Nested_Object 5.593666432664493 ns/iter 4.974602105390886 ns/iter 1.12
Evaluator_Draft4_Properties_Triad_Optional 884.5912575382239 ns/iter 882.7315193790286 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 706.6745149936063 ns/iter 702.0722831928445 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Required 893.4019579467237 ns/iter 921.8979373212989 ns/iter 0.97
Evaluator_Draft4_Properties_Closed 85.55957303164931 ns/iter 82.41739099801542 ns/iter 1.04
Evaluator_Draft4_Non_Recursive_Ref 32.95126198048391 ns/iter 28.956644088511815 ns/iter 1.14
Evaluator_Draft4_Pattern_Properties_True 245.76601403305648 ns/iter 254.34993549285178 ns/iter 0.97
Evaluator_Draft4_Ref_To_Single_Property 13.68553600201561 ns/iter 12.898299376595608 ns/iter 1.06
Evaluator_Draft4_Additional_Properties_Type 61.55375863809898 ns/iter 52.85584349199533 ns/iter 1.16
Evaluator_Draft4_Nested_Oneof 85.87965970444138 ns/iter 87.08343291552879 ns/iter 0.99
Evaluator_Draft4_Short_Enum 16.25690746867866 ns/iter 15.588767032069427 ns/iter 1.04
Evaluator_Draft4_Long_Enum 20.22824978777744 ns/iter 19.923623251833053 ns/iter 1.02
Evaluator_Draft4_Long_Enum_Short_Strings 16.27419471301416 ns/iter 15.573360938522741 ns/iter 1.05
Evaluator_Draft4_Type_Object 10.59261162279444 ns/iter 9.98460953453066 ns/iter 1.06
Evaluator_Draft6_Property_Names 154.13756259628187 ns/iter 141.22135565570844 ns/iter 1.09
Evaluator_Draft7_If_Then_Else 41.09846446262368 ns/iter 41.0688737065708 ns/iter 1.00
Evaluator_Draft7_Vercel_1 49619.186897474945 ns/iter 47849.15258279691 ns/iter 1.04
Evaluator_Draft7_Helm_Chart_Lock_1 291.40933621877315 ns/iter 282.6095392935985 ns/iter 1.03
Evaluator_Draft7_Helm_Chart_Lock_2 283.15415643077154 ns/iter 278.84517681741164 ns/iter 1.02
Evaluator_Draft7_Jasmine_1 186.73988786618315 ns/iter 191.4452288379646 ns/iter 0.98
Evaluator_Draft7_Dependabot_1 1230.8354517588214 ns/iter 1202.365209539488 ns/iter 1.02
Evaluator_2019_09_Unevaluated_Properties 53.26764788280872 ns/iter 52.438684202946895 ns/iter 1.02
Evaluator_2019_09_OMC_JSON_V2_1 1474.6294287735118 ns/iter 1471.6288321275688 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 563.5028550704775 ns/iter 583.3013796240394 ns/iter 0.97
Evaluator_2020_12_Dynamic_Ref_Single 10.886679654772395 ns/iter 10.2667307094145 ns/iter 1.06
Evaluator_2020_12_CQL_1 3770.744903554751 ns/iter 3725.331135170627 ns/iter 1.01
Evaluator_2020_12_OpenAPI 199030.30736782454 ns/iter 189269.62614310058 ns/iter 1.05

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

@jviotti jviotti merged commit 71dbb0a into main Aug 29, 2025
13 checks passed
@jviotti jviotti deleted the unordered-set-vocabulary-check branch August 29, 2025 19:30
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (windows/msvc)

Details
Benchmark suite Current: 19d8928 Previous: 74070b1 Ratio
Compiler_Draft6_AdaptiveCard 136964858299.99983 ns/iter 134659682000.00009 ns/iter 1.02
Compiler_2019_09_OMC_JSON_V2 21901871499.999744 ns/iter 21483886600.000004 ns/iter 1.02
Evaluator_Draft4_Meta_1_No_Callback 337.51961830016626 ns/iter 328.5283475842167 ns/iter 1.03
Evaluator_Draft4_Required_Properties 869.0044642857434 ns/iter 768.7371651786838 ns/iter 1.13
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 36.63984041713887 ns/iter 36.645566049256665 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 17.187509706325798 ns/iter 17.125138724609013 ns/iter 1.00
Evaluator_Draft4_Items_Schema 578.7137000002076 ns/iter 545.51321428562 ns/iter 1.06
Evaluator_Draft4_Nested_Object 6.516381250000742 ns/iter 6.813987723214764 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Optional 1597.5825892858047 ns/iter 1571.4959821429327 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Closed 1284.5758550997584 ns/iter 1254.565178571657 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Required 1600.5624999999263 ns/iter 1564.5776785717658 ns/iter 1.02
Evaluator_Draft4_Properties_Closed 95.09605825466153 ns/iter 113.55748153760068 ns/iter 0.84
Evaluator_Draft4_Non_Recursive_Ref 30.703207399369067 ns/iter 31.021415178571488 ns/iter 0.99
Evaluator_Draft4_Pattern_Properties_True 212.152312500109 ns/iter 203.78677215237468 ns/iter 1.04
Evaluator_Draft4_Ref_To_Single_Property 17.32429274113497 ns/iter 16.819486607145354 ns/iter 1.03
Evaluator_Draft4_Additional_Properties_Type 55.064696428571224 ns/iter 55.41671000000861 ns/iter 0.99
Evaluator_Draft4_Nested_Oneof 89.32103172676416 ns/iter 88.3979692679367 ns/iter 1.01
Evaluator_Draft4_Short_Enum 16.93016863662931 ns/iter 16.91769787778419 ns/iter 1.00
Evaluator_Draft4_Long_Enum 20.583390677456723 ns/iter 21.406724999998517 ns/iter 0.96
Evaluator_Draft4_Long_Enum_Short_Strings 19.678300486753937 ns/iter 21.468593750000764 ns/iter 0.92
Evaluator_Draft4_Type_Object 11.796525000001168 ns/iter 12.083558928570223 ns/iter 0.98
Evaluator_Draft6_Property_Names 148.91545986985966 ns/iter 164.32321428574426 ns/iter 0.91
Evaluator_Draft7_If_Then_Else 43.16398889551387 ns/iter 43.36680625000611 ns/iter 1.00
Evaluator_Draft7_Vercel_1 74552.60044640762 ns/iter 69792.31249999884 ns/iter 1.07
Evaluator_Draft7_Helm_Chart_Lock_1 321.28504464290177 ns/iter 315.08633928569094 ns/iter 1.02
Evaluator_Draft7_Helm_Chart_Lock_2 302.5648724814955 ns/iter 294.783355492993 ns/iter 1.03
Evaluator_Draft7_Jasmine_1 211.79578741980137 ns/iter 216.91206250004313 ns/iter 0.98
Evaluator_Draft7_Dependabot_1 1510.357366071397 ns/iter 1536.2263900773787 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 52.89831000000049 ns/iter 53.98178571429721 ns/iter 0.98
Evaluator_2019_09_OMC_JSON_V2_1 1785.9707017586886 ns/iter 1780.2830181093839 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 762.5427455353012 ns/iter 743.5805803570616 ns/iter 1.03
Evaluator_2020_12_Dynamic_Ref_Single 11.764573214285129 ns/iter 12.065717187496716 ns/iter 0.98
Evaluator_2020_12_CQL_1 4400.343526630328 ns/iter 4365.144100382953 ns/iter 1.01
Evaluator_2020_12_OpenAPI 265754.3453511069 ns/iter 270473.0170778523 ns/iter 0.98

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

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/gcc)

Details
Benchmark suite Current: 19d8928 Previous: 74070b1 Ratio
Evaluator_2020_12_Dynamic_Ref 629.4590119120445 ns/iter 635.6636218154644 ns/iter 0.99
Evaluator_2020_12_Dynamic_Ref_Single 9.423452329718382 ns/iter 9.43161185041856 ns/iter 1.00
Evaluator_2020_12_CQL_1 3824.055178031349 ns/iter 3768.4440208548335 ns/iter 1.01
Evaluator_2020_12_OpenAPI 226036.8376371904 ns/iter 230242.92405890857 ns/iter 0.98
Evaluator_2019_09_Unevaluated_Properties 53.12933582370692 ns/iter 52.79400363731946 ns/iter 1.01
Evaluator_2019_09_OMC_JSON_V2_1 1404.515674119554 ns/iter 1375.0534353845749 ns/iter 1.02
Evaluator_Draft7_If_Then_Else 45.76630822739455 ns/iter 45.47089981299461 ns/iter 1.01
Evaluator_Draft7_Vercel_1 47127.62643526405 ns/iter 47065.66275999447 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_1 127.52647284604687 ns/iter 127.99531004258377 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_2 124.6290677436451 ns/iter 124.53729486330658 ns/iter 1.00
Evaluator_Draft7_Jasmine_1 155.4183204951967 ns/iter 157.12831439626825 ns/iter 0.99
Evaluator_Draft7_Dependabot_1 942.699188988243 ns/iter 936.7141968746971 ns/iter 1.01
Evaluator_Draft6_Property_Names 164.6077365134641 ns/iter 163.7251061261353 ns/iter 1.01
Evaluator_Draft4_Meta_1_No_Callback 265.70474053457184 ns/iter 250.73019018173557 ns/iter 1.06
Evaluator_Draft4_Required_Properties 537.4637889466982 ns/iter 540.4322780726011 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 29.730171892282225 ns/iter 29.74409170811504 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 12.259982912974198 ns/iter 12.261370493232478 ns/iter 1.00
Evaluator_Draft4_Items_Schema 492.51780074882214 ns/iter 498.44794985192635 ns/iter 0.99
Evaluator_Draft4_Nested_Object 4.237363389092822 ns/iter 4.329586028312299 ns/iter 0.98
Evaluator_Draft4_Properties_Triad_Optional 1031.5896494175454 ns/iter 1079.6459946645589 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Closed 817.5278345533114 ns/iter 865.2605829263928 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Required 1031.5491915481134 ns/iter 1075.099245598355 ns/iter 0.96
Evaluator_Draft4_Properties_Closed 75.84165261744167 ns/iter 75.84946773329276 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 12.249269053231574 ns/iter 12.281111243704373 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 251.70488471419844 ns/iter 254.8075266193156 ns/iter 0.99
Evaluator_Draft4_Ref_To_Single_Property 12.262668619706929 ns/iter 12.2608304491714 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 14.744873531495143 ns/iter 14.738529058521086 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 111.0268546146178 ns/iter 110.06794190592423 ns/iter 1.01
Evaluator_Draft4_Short_Enum 18.048348350648915 ns/iter 18.062557324437236 ns/iter 1.00
Evaluator_Draft4_Long_Enum 22.97556863911801 ns/iter 22.942344706640657 ns/iter 1.00
Evaluator_Draft4_Long_Enum_Short_Strings 18.054793059859342 ns/iter 18.074020829517416 ns/iter 1.00
Evaluator_Draft4_Type_Object 9.474812412378338 ns/iter 9.418997730097745 ns/iter 1.01
Compiler_2019_09_OMC_JSON_V2 8030775853.999899 ns/iter 7997233704.999985 ns/iter 1.00
Compiler_Draft6_AdaptiveCard 53785503586.00001 ns/iter 53961783478.00003 ns/iter 1.00

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

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Details
Benchmark suite Current: 19d8928 Previous: 74070b1 Ratio
Compiler_Draft6_AdaptiveCard 57411090124.999985 ns/iter 53357691875 ns/iter 1.08
Compiler_2019_09_OMC_JSON_V2 7153744791.999998 ns/iter 6640364208.000051 ns/iter 1.08
Evaluator_Draft4_Meta_1_No_Callback 241.82838720085326 ns/iter 196.12593435221078 ns/iter 1.23
Evaluator_Draft4_Required_Properties 619.7781958288138 ns/iter 487.02176235869274 ns/iter 1.27
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 26.350025632316505 ns/iter 24.441208479013987 ns/iter 1.08
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 11.74814181474734 ns/iter 10.439260861856104 ns/iter 1.13
Evaluator_Draft4_Items_Schema 647.7996353687245 ns/iter 557.2741600349922 ns/iter 1.16
Evaluator_Draft4_Nested_Object 3.88513086173665 ns/iter 3.811551587028353 ns/iter 1.02
Evaluator_Draft4_Properties_Triad_Optional 692.9059581671904 ns/iter 792.4389791733049 ns/iter 0.87
Evaluator_Draft4_Properties_Triad_Closed 579.4359448475453 ns/iter 564.7153292428533 ns/iter 1.03
Evaluator_Draft4_Properties_Triad_Required 746.1292105171071 ns/iter 771.4525089033847 ns/iter 0.97
Evaluator_Draft4_Properties_Closed 51.54099660138879 ns/iter 53.583682325949226 ns/iter 0.96
Evaluator_Draft4_Non_Recursive_Ref 20.491532974937137 ns/iter 19.715430420822123 ns/iter 1.04
Evaluator_Draft4_Pattern_Properties_True 182.25366041831728 ns/iter 174.82582083983903 ns/iter 1.04
Evaluator_Draft4_Ref_To_Single_Property 9.920666696464325 ns/iter 8.798073317522547 ns/iter 1.13
Evaluator_Draft4_Additional_Properties_Type 38.36370554179079 ns/iter 35.28748664216724 ns/iter 1.09
Evaluator_Draft4_Nested_Oneof 62.43645368748414 ns/iter 54.97633061891661 ns/iter 1.14
Evaluator_Draft4_Short_Enum 12.815000336912394 ns/iter 10.266570449248501 ns/iter 1.25
Evaluator_Draft4_Long_Enum 24.41415982141881 ns/iter 21.96236515596773 ns/iter 1.11
Evaluator_Draft4_Long_Enum_Short_Strings 15.995242253848897 ns/iter 11.764778312357855 ns/iter 1.36
Evaluator_Draft4_Type_Object 8.508686075895428 ns/iter 6.814865186602901 ns/iter 1.25
Evaluator_Draft6_Property_Names 130.07680592160375 ns/iter 132.77674862528346 ns/iter 0.98
Evaluator_Draft7_If_Then_Else 42.80447811926127 ns/iter 40.80085370688275 ns/iter 1.05
Evaluator_Draft7_Vercel_1 51970.145799998594 ns/iter 52016.64836581619 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_1 219.86749326934844 ns/iter 225.393370333256 ns/iter 0.98
Evaluator_Draft7_Helm_Chart_Lock_2 201.60109522097108 ns/iter 202.76235642011994 ns/iter 0.99
Evaluator_Draft7_Jasmine_1 136.04716692159462 ns/iter 142.53635199974846 ns/iter 0.95
Evaluator_Draft7_Dependabot_1 879.1988567151476 ns/iter 891.3233307135154 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 55.33151669999369 ns/iter 45.306191229949285 ns/iter 1.22
Evaluator_2019_09_OMC_JSON_V2_1 1095.6096971255595 ns/iter 1139.4398370679016 ns/iter 0.96
Evaluator_2020_12_Dynamic_Ref 524.0959159999647 ns/iter 528.3141659315276 ns/iter 0.99
Evaluator_2020_12_Dynamic_Ref_Single 8.555060722472373 ns/iter 7.174427885276988 ns/iter 1.19
Evaluator_2020_12_CQL_1 3812.5748518714468 ns/iter 2958.2225804271025 ns/iter 1.29
Evaluator_2020_12_OpenAPI 202288.69546980516 ns/iter 125129.54054585684 ns/iter 1.62

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

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/gcc)

Details
Benchmark suite Current: 19d8928 Previous: 74070b1 Ratio
Compiler_Draft6_AdaptiveCard 61516614913.94043 ns/iter 56818796157.836914 ns/iter 1.08
Compiler_2019_09_OMC_JSON_V2 7865494966.506958 ns/iter 6856954813.00354 ns/iter 1.15
Evaluator_Draft4_Meta_1_No_Callback 174.15002178054363 ns/iter 162.92277215977228 ns/iter 1.07
Evaluator_Draft4_Required_Properties 329.87227001161057 ns/iter 327.6613402743849 ns/iter 1.01
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 19.379471237591915 ns/iter 18.66792879127961 ns/iter 1.04
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 7.365063008597202 ns/iter 7.101561047375721 ns/iter 1.04
Evaluator_Draft4_Items_Schema 460.2475795569458 ns/iter 482.83340096687755 ns/iter 0.95
Evaluator_Draft4_Nested_Object 2.2162227097130995 ns/iter 2.3034379296348844 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Optional 794.4457952185097 ns/iter 863.3308819436796 ns/iter 0.92
Evaluator_Draft4_Properties_Triad_Closed 657.0544291486324 ns/iter 691.3625036362765 ns/iter 0.95
Evaluator_Draft4_Properties_Triad_Required 793.3206614519197 ns/iter 842.5048219781978 ns/iter 0.94
Evaluator_Draft4_Properties_Closed 65.58844437851587 ns/iter 69.09541983011775 ns/iter 0.95
Evaluator_Draft4_Non_Recursive_Ref 12.656643141866834 ns/iter 13.724851663086618 ns/iter 0.92
Evaluator_Draft4_Pattern_Properties_True 205.81280901505065 ns/iter 194.76853201845475 ns/iter 1.06
Evaluator_Draft4_Ref_To_Single_Property 8.09595594936469 ns/iter 7.38048481195919 ns/iter 1.10
Evaluator_Draft4_Additional_Properties_Type 25.73424713818363 ns/iter 25.75954585977919 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 59.47142310582254 ns/iter 60.133855081111065 ns/iter 0.99
Evaluator_Draft4_Short_Enum 8.321059303978096 ns/iter 9.97997339134457 ns/iter 0.83
Evaluator_Draft4_Long_Enum 9.25637857894072 ns/iter 10.101751230307004 ns/iter 0.92
Evaluator_Draft4_Long_Enum_Short_Strings 8.925355050894453 ns/iter 8.90070264472102 ns/iter 1.00
Evaluator_Draft4_Type_Object 4.836411398263067 ns/iter 4.675639069513284 ns/iter 1.03
Evaluator_Draft6_Property_Names 136.32429237320287 ns/iter 113.55029993369735 ns/iter 1.20
Evaluator_Draft7_If_Then_Else 27.098563627495462 ns/iter 26.74636840426377 ns/iter 1.01
Evaluator_Draft7_Vercel_1 40329.745867526115 ns/iter 40059.48245233347 ns/iter 1.01
Evaluator_Draft7_Helm_Chart_Lock_1 191.64971522974716 ns/iter 176.78092276027985 ns/iter 1.08
Evaluator_Draft7_Helm_Chart_Lock_2 177.6916137422431 ns/iter 172.20137604459526 ns/iter 1.03
Evaluator_Draft7_Jasmine_1 150.64329874958153 ns/iter 128.66545892855308 ns/iter 1.17
Evaluator_Draft7_Dependabot_1 915.3271939699638 ns/iter 885.3605637691298 ns/iter 1.03
Evaluator_2019_09_Unevaluated_Properties 34.92629054877005 ns/iter 33.85700807999466 ns/iter 1.03
Evaluator_2019_09_OMC_JSON_V2_1 1055.7849145861694 ns/iter 1106.0966730817217 ns/iter 0.95
Evaluator_2020_12_Dynamic_Ref 467.89304890981305 ns/iter 471.69772893332555 ns/iter 0.99
Evaluator_2020_12_Dynamic_Ref_Single 4.883016566860284 ns/iter 4.815164096530449 ns/iter 1.01
Evaluator_2020_12_CQL_1 2651.798604084511 ns/iter 3015.0544486488097 ns/iter 0.88
Evaluator_2020_12_OpenAPI 176176.6177360425 ns/iter 201886.64614184477 ns/iter 0.87

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant