Skip to content

Add a compile() overload that takes an existing schema frame#404

Merged
jviotti merged 1 commit into
mainfrom
explicit-frame-compile
Apr 16, 2025
Merged

Add a compile() overload that takes an existing schema frame#404
jviotti merged 1 commit into
mainfrom
explicit-frame-compile

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 16, 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: d09a87c Previous: 02a246f Ratio
Compiler_Draft6_AdaptiveCard 63814986781.000015 ns/iter 64551777951.00002 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 9257675716.999983 ns/iter 9511561249.00001 ns/iter 0.97
Evaluator_Draft4_Meta_1_No_Callback 281.74639223112894 ns/iter 280.46828276350647 ns/iter 1.00
Evaluator_Draft4_Required_Properties 672.1494443872425 ns/iter 625.888038377834 ns/iter 1.07
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 32.16039502733664 ns/iter 33.969340100555904 ns/iter 0.95
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 13.728362138792821 ns/iter 13.175463101876046 ns/iter 1.04
Evaluator_Draft4_Items_Schema 603.1769705947977 ns/iter 621.4641971791596 ns/iter 0.97
Evaluator_Draft4_Nested_Object 4.972859745058321 ns/iter 4.661325845829654 ns/iter 1.07
Evaluator_Draft4_Properties_Triad_Optional 891.9386475122435 ns/iter 899.7828849138594 ns/iter 0.99
Evaluator_Draft4_Properties_Triad_Closed 714.2532198437642 ns/iter 716.8198357090254 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 865.5108414984488 ns/iter 884.3935842589894 ns/iter 0.98
Evaluator_Draft4_Properties_Closed 83.41873421419132 ns/iter 86.37982308454585 ns/iter 0.97
Evaluator_Draft4_Non_Recursive_Ref 29.2816813693374 ns/iter 29.24909836396838 ns/iter 1.00
Evaluator_Draft4_Pattern_Properties_True 241.898552769221 ns/iter 250.2800158870078 ns/iter 0.97
Evaluator_Draft4_Ref_To_Single_Property 14.003480305665615 ns/iter 13.43140282429474 ns/iter 1.04
Evaluator_Draft4_Additional_Properties_Type 53.482334436896195 ns/iter 53.72833421902381 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 85.7774418227077 ns/iter 89.90342768153312 ns/iter 0.95
Evaluator_Draft4_Short_Enum 17.759232873896327 ns/iter 17.740486239210167 ns/iter 1.00
Evaluator_Draft4_Long_Enum 19.60458205773301 ns/iter 19.679326858104517 ns/iter 1.00
Evaluator_Draft4_Long_Enum_Short_Strings 17.759657634774527 ns/iter 17.74019001993214 ns/iter 1.00
Evaluator_Draft4_Type_Object 10.574543047449069 ns/iter 10.29797949686809 ns/iter 1.03
Evaluator_Draft6_Property_Names 151.4179073698595 ns/iter 154.76737972203543 ns/iter 0.98
Evaluator_Draft7_If_Then_Else 40.49634327718053 ns/iter 41.994497252310126 ns/iter 0.96
Evaluator_Draft7_Vercel_1 51274.81843181155 ns/iter 51663.06274821512 ns/iter 0.99
Evaluator_Draft7_Helm_Chart_Lock_1 272.2359789691184 ns/iter 283.65582551285445 ns/iter 0.96
Evaluator_Draft7_Helm_Chart_Lock_2 270.90283084293776 ns/iter 278.4303640564696 ns/iter 0.97
Evaluator_Draft7_Jasmine_1 185.5821334691657 ns/iter 187.731159919638 ns/iter 0.99
Evaluator_Draft7_Dependabot_1 1228.94890583409 ns/iter 1234.8282185340433 ns/iter 1.00
Evaluator_2019_09_Unevaluated_Properties 53.20664150780849 ns/iter 53.90539284732787 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 1461.0465360955127 ns/iter 1484.0208725285893 ns/iter 0.98
Evaluator_2020_12_Dynamic_Ref 575.5780422373765 ns/iter 596.5948334643502 ns/iter 0.96
Evaluator_2020_12_Dynamic_Ref_Single 10.577821871489292 ns/iter 10.269298115947958 ns/iter 1.03
Evaluator_2020_12_CQL_1 3668.4134475485293 ns/iter 3831.6956425653525 ns/iter 0.96
Evaluator_2020_12_OpenAPI 194323.0625683102 ns/iter 192042.00835805913 ns/iter 1.01

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: d09a87c Previous: 02a246f Ratio
Compiler_Draft6_AdaptiveCard 54312156915.66467 ns/iter 54741117000.579834 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 7251394987.106323 ns/iter 7246867895.126343 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 160.38527296186447 ns/iter 163.09847966724206 ns/iter 0.98
Evaluator_Draft4_Required_Properties 317.4370875565385 ns/iter 321.057762972039 ns/iter 0.99
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 17.95892429319169 ns/iter 18.477966512510857 ns/iter 0.97
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 6.946913776533647 ns/iter 6.930031515329992 ns/iter 1.00
Evaluator_Draft4_Items_Schema 434.4161493018568 ns/iter 463.165594204561 ns/iter 0.94
Evaluator_Draft4_Nested_Object 2.018662487235431 ns/iter 2.0037999108844113 ns/iter 1.01
Evaluator_Draft4_Properties_Triad_Optional 800.2483701368219 ns/iter 802.7719618420609 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Closed 641.0170195158845 ns/iter 638.2783430668004 ns/iter 1.00
Evaluator_Draft4_Properties_Triad_Required 828.3738456630357 ns/iter 791.0798052422792 ns/iter 1.05
Evaluator_Draft4_Properties_Closed 64.37912943404339 ns/iter 64.22191560290631 ns/iter 1.00
Evaluator_Draft4_Non_Recursive_Ref 12.58624083293887 ns/iter 13.069872039879701 ns/iter 0.96
Evaluator_Draft4_Pattern_Properties_True 179.2553104749143 ns/iter 182.23992201605088 ns/iter 0.98
Evaluator_Draft4_Ref_To_Single_Property 6.886509491770823 ns/iter 6.9075563628342165 ns/iter 1.00
Evaluator_Draft4_Additional_Properties_Type 23.840133572153956 ns/iter 23.896486088648384 ns/iter 1.00
Evaluator_Draft4_Nested_Oneof 55.168440248059895 ns/iter 55.037213111163204 ns/iter 1.00
Evaluator_Draft4_Short_Enum 7.854017370778692 ns/iter 7.878297118456498 ns/iter 1.00
Evaluator_Draft4_Long_Enum 8.892425704484104 ns/iter 8.792729325812646 ns/iter 1.01
Evaluator_Draft4_Long_Enum_Short_Strings 8.161908570920627 ns/iter 8.165973237875749 ns/iter 1.00
Evaluator_Draft4_Type_Object 4.527857046150815 ns/iter 4.547925844864061 ns/iter 1.00
Evaluator_Draft6_Property_Names 101.69002372514197 ns/iter 102.61732294783337 ns/iter 0.99
Evaluator_Draft7_If_Then_Else 25.233990224182318 ns/iter 24.613513250244498 ns/iter 1.03
Evaluator_Draft7_Vercel_1 38982.976501179866 ns/iter 39080.86395306159 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_1 172.06119311924962 ns/iter 165.31909362674082 ns/iter 1.04
Evaluator_Draft7_Helm_Chart_Lock_2 165.1918296428494 ns/iter 165.52190023418464 ns/iter 1.00
Evaluator_Draft7_Jasmine_1 124.71581072430655 ns/iter 123.38275247485574 ns/iter 1.01
Evaluator_Draft7_Dependabot_1 878.1165248582975 ns/iter 858.5031688683425 ns/iter 1.02
Evaluator_2019_09_Unevaluated_Properties 32.5472016225623 ns/iter 32.80428165463484 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 1070.5282490682946 ns/iter 1044.4014234184933 ns/iter 1.03
Evaluator_2020_12_Dynamic_Ref 444.79559802031406 ns/iter 436.4098946944367 ns/iter 1.02
Evaluator_2020_12_Dynamic_Ref_Single 4.63966852773304 ns/iter 4.546515376462738 ns/iter 1.02
Evaluator_2020_12_CQL_1 2550.111142077464 ns/iter 2620.2837419622515 ns/iter 0.97
Evaluator_2020_12_OpenAPI 172124.508542324 ns/iter 188692.25974506277 ns/iter 0.91

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: d09a87c Previous: 02a246f Ratio
Compiler_Draft6_AdaptiveCard 44502768749.99997 ns/iter 49081725374.99991 ns/iter 0.91
Compiler_2019_09_OMC_JSON_V2 7298272999.999994 ns/iter 8090605167.000035 ns/iter 0.90
Evaluator_Draft4_Meta_1_No_Callback 168.34558474975398 ns/iter 189.57544425054047 ns/iter 0.89
Evaluator_Draft4_Required_Properties 382.56273606587916 ns/iter 429.1389386232003 ns/iter 0.89
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 18.6824188076669 ns/iter 21.444930201191575 ns/iter 0.87
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 7.368749273039734 ns/iter 8.39476348744391 ns/iter 0.88
Evaluator_Draft4_Items_Schema 257.73763089522384 ns/iter 279.6030061431167 ns/iter 0.92
Evaluator_Draft4_Nested_Object 3.1480209081438355 ns/iter 3.366425040170605 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Optional 739.9102013898071 ns/iter 787.9127436534632 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Closed 603.7702783304272 ns/iter 642.5185131033928 ns/iter 0.94
Evaluator_Draft4_Properties_Triad_Required 728.2583529098886 ns/iter 796.803655058964 ns/iter 0.91
Evaluator_Draft4_Properties_Closed 44.87594162025085 ns/iter 55.42470780550993 ns/iter 0.81
Evaluator_Draft4_Non_Recursive_Ref 9.567062069386951 ns/iter 11.499387149243358 ns/iter 0.83
Evaluator_Draft4_Pattern_Properties_True 174.56626682095933 ns/iter 173.13011714616843 ns/iter 1.01
Evaluator_Draft4_Ref_To_Single_Property 7.231438545442635 ns/iter 8.015256238091506 ns/iter 0.90
Evaluator_Draft4_Additional_Properties_Type 15.937646042130202 ns/iter 17.11622749109234 ns/iter 0.93
Evaluator_Draft4_Nested_Oneof 48.87060393536248 ns/iter 51.5940672569399 ns/iter 0.95
Evaluator_Draft4_Short_Enum 8.225394243217037 ns/iter 8.756684178504164 ns/iter 0.94
Evaluator_Draft4_Long_Enum 26.981520878395774 ns/iter 29.114928154905265 ns/iter 0.93
Evaluator_Draft4_Long_Enum_Short_Strings 9.202227547870908 ns/iter 9.84312068249011 ns/iter 0.93
Evaluator_Draft4_Type_Object 5.40573090020107 ns/iter 5.769921721677919 ns/iter 0.94
Evaluator_Draft6_Property_Names 85.18075056475652 ns/iter 92.73933280418368 ns/iter 0.92
Evaluator_Draft7_If_Then_Else 23.899805652728148 ns/iter 25.35265134296992 ns/iter 0.94
Evaluator_Draft7_Vercel_1 31073.49469787076 ns/iter 32999.345143985185 ns/iter 0.94
Evaluator_Draft7_Helm_Chart_Lock_1 99.04733433006939 ns/iter 105.49071692884745 ns/iter 0.94
Evaluator_Draft7_Helm_Chart_Lock_2 93.70701833154544 ns/iter 104.31803675127536 ns/iter 0.90
Evaluator_Draft7_Jasmine_1 101.47416499374725 ns/iter 107.16000048988735 ns/iter 0.95
Evaluator_Draft7_Dependabot_1 666.9224069653094 ns/iter 722.5495489748283 ns/iter 0.92
Evaluator_2019_09_Unevaluated_Properties 34.90270304480655 ns/iter 37.39567271032504 ns/iter 0.93
Evaluator_2019_09_OMC_JSON_V2_1 940.5423377889871 ns/iter 966.4096727147008 ns/iter 0.97
Evaluator_2020_12_Dynamic_Ref 381.6045367087489 ns/iter 395.6066521214899 ns/iter 0.96
Evaluator_2020_12_Dynamic_Ref_Single 5.4274786804957555 ns/iter 5.780943481373358 ns/iter 0.94
Evaluator_2020_12_CQL_1 2192.692438472182 ns/iter 2254.521598169513 ns/iter 0.97
Evaluator_2020_12_OpenAPI 164274.4068111537 ns/iter 161780.33333332025 ns/iter 1.02

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 (windows/msvc)

Details
Benchmark suite Current: d09a87c Previous: 02a246f Ratio
Compiler_Draft6_AdaptiveCard 211953479100.0001 ns/iter 213068635099.99994 ns/iter 0.99
Compiler_2019_09_OMC_JSON_V2 27025452400.000175 ns/iter 26964924999.999992 ns/iter 1.00
Evaluator_Draft4_Meta_1_No_Callback 366.24775602727294 ns/iter 404.5651471175727 ns/iter 0.91
Evaluator_Draft4_Required_Properties 944.8691317549126 ns/iter 857.4254654352561 ns/iter 1.10
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 38.997890625009596 ns/iter 42.94763934726228 ns/iter 0.91
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 16.547675558835326 ns/iter 15.849845982143863 ns/iter 1.04
Evaluator_Draft4_Items_Schema 720.8837053571671 ns/iter 720.5500892857636 ns/iter 1.00
Evaluator_Draft4_Nested_Object 6.830716517856367 ns/iter 6.202038392858965 ns/iter 1.10
Evaluator_Draft4_Properties_Triad_Optional 1608.5854910714254 ns/iter 1551.3138392856872 ns/iter 1.04
Evaluator_Draft4_Properties_Triad_Closed 1303.3119642857725 ns/iter 1250.942857142588 ns/iter 1.04
Evaluator_Draft4_Properties_Triad_Required 1623.5482142857702 ns/iter 1525.6819196426566 ns/iter 1.06
Evaluator_Draft4_Properties_Closed 93.06862084515367 ns/iter 89.3857594024211 ns/iter 1.04
Evaluator_Draft4_Non_Recursive_Ref 36.196121409395296 ns/iter 32.52058175813144 ns/iter 1.11
Evaluator_Draft4_Pattern_Properties_True 234.62900283152555 ns/iter 236.36133522756185 ns/iter 0.99
Evaluator_Draft4_Ref_To_Single_Property 16.52948437500206 ns/iter 15.874964285715569 ns/iter 1.04
Evaluator_Draft4_Additional_Properties_Type 65.88049107144452 ns/iter 57.91224107142057 ns/iter 1.14
Evaluator_Draft4_Nested_Oneof 117.13176562498262 ns/iter 109.86735937500214 ns/iter 1.07
Evaluator_Draft4_Short_Enum 24.812764285708713 ns/iter 24.85421428571856 ns/iter 1.00
Evaluator_Draft4_Long_Enum 24.351573105570115 ns/iter 23.887047724473863 ns/iter 1.02
Evaluator_Draft4_Long_Enum_Short_Strings 28.915023085197724 ns/iter 27.892245411195567 ns/iter 1.04
Evaluator_Draft4_Type_Object 14.593850446433164 ns/iter 13.63086556414554 ns/iter 1.07
Evaluator_Draft6_Property_Names 169.6729979691786 ns/iter 157.48772321429223 ns/iter 1.08
Evaluator_Draft7_If_Then_Else 55.0445899999886 ns/iter 53.451990000007754 ns/iter 1.03
Evaluator_Draft7_Vercel_1 73963.80580357535 ns/iter 73129.82142857599 ns/iter 1.01
Evaluator_Draft7_Helm_Chart_Lock_1 297.19287754538726 ns/iter 297.3703663648739 ns/iter 1.00
Evaluator_Draft7_Helm_Chart_Lock_2 264.44491582344085 ns/iter 273.3259742556154 ns/iter 0.97
Evaluator_Draft7_Jasmine_1 235.66420360892062 ns/iter 237.9303417489021 ns/iter 0.99
Evaluator_Draft7_Dependabot_1 1542.6642857140191 ns/iter 1556.657366071436 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 68.13730357141675 ns/iter 70.2660602678508 ns/iter 0.97
Evaluator_2019_09_OMC_JSON_V2_1 1889.6609259610293 ns/iter 1885.0696295264022 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref 881.7396510091316 ns/iter 846.4611607144386 ns/iter 1.04
Evaluator_2020_12_Dynamic_Ref_Single 14.34470618596029 ns/iter 13.434002232141243 ns/iter 1.07
Evaluator_2020_12_CQL_1 5186.8100000001505 ns/iter 5084.280357142542 ns/iter 1.02
Evaluator_2020_12_OpenAPI 279209.5620731534 ns/iter 288792.7056827505 ns/iter 0.97

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

@jviotti jviotti merged commit 55d6860 into main Apr 16, 2025
13 checks passed
@jviotti jviotti deleted the explicit-frame-compile branch April 16, 2025 19:28
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: d09a87c Previous: 02a246f Ratio
Evaluator_2020_12_Dynamic_Ref 623.9462229725149 ns/iter 622.6356356293991 ns/iter 1.00
Evaluator_2020_12_Dynamic_Ref_Single 9.458350806813673 ns/iter 9.376266867900846 ns/iter 1.01
Evaluator_2020_12_CQL_1 3764.3869744727967 ns/iter 3733.1026891853244 ns/iter 1.01
Evaluator_2020_12_OpenAPI 223376.89460238445 ns/iter 224751.52355015307 ns/iter 0.99
Evaluator_2019_09_Unevaluated_Properties 51.46760278894075 ns/iter 51.99283630369103 ns/iter 0.99
Evaluator_2019_09_OMC_JSON_V2_1 1340.5543071450927 ns/iter 1353.8578576220464 ns/iter 0.99
Evaluator_Draft7_If_Then_Else 44.269254329605914 ns/iter 43.96375581225662 ns/iter 1.01
Evaluator_Draft7_Vercel_1 44890.82493114352 ns/iter 46790.57317151452 ns/iter 0.96
Evaluator_Draft7_Helm_Chart_Lock_1 122.86349610549979 ns/iter 120.4148930383807 ns/iter 1.02
Evaluator_Draft7_Helm_Chart_Lock_2 121.32931604535325 ns/iter 119.68922046047567 ns/iter 1.01
Evaluator_Draft7_Jasmine_1 148.56494901700884 ns/iter 145.48435025903916 ns/iter 1.02
Evaluator_Draft7_Dependabot_1 918.9851403767094 ns/iter 951.8501731599042 ns/iter 0.97
Evaluator_Draft6_Property_Names 164.04288467052066 ns/iter 156.7953376791801 ns/iter 1.05
Evaluator_Draft4_Meta_1_No_Callback 236.8607951108104 ns/iter 241.96985369666905 ns/iter 0.98
Evaluator_Draft4_Required_Properties 470.74427075114613 ns/iter 471.2551658657006 ns/iter 1.00
Evaluator_Draft4_Many_Optional_Properties_Minimal_Match 27.826850002840573 ns/iter 27.772369488827696 ns/iter 1.00
Evaluator_Draft4_Few_Optional_Properties_Minimal_Match 10.672875010544892 ns/iter 10.274136939457287 ns/iter 1.04
Evaluator_Draft4_Items_Schema 483.86008506118145 ns/iter 501.0351629998695 ns/iter 0.97
Evaluator_Draft4_Nested_Object 4.180820532962085 ns/iter 3.8610298770488263 ns/iter 1.08
Evaluator_Draft4_Properties_Triad_Optional 1024.480315697894 ns/iter 1064.488588767379 ns/iter 0.96
Evaluator_Draft4_Properties_Triad_Closed 815.5329871834292 ns/iter 840.330241145397 ns/iter 0.97
Evaluator_Draft4_Properties_Triad_Required 1025.0291159747478 ns/iter 1035.690833063242 ns/iter 0.99
Evaluator_Draft4_Properties_Closed 71.2776124714253 ns/iter 76.31338988421102 ns/iter 0.93
Evaluator_Draft4_Non_Recursive_Ref 12.565395695817312 ns/iter 12.486809518655202 ns/iter 1.01
Evaluator_Draft4_Pattern_Properties_True 240.971493099611 ns/iter 229.0225925383778 ns/iter 1.05
Evaluator_Draft4_Ref_To_Single_Property 10.697916594579105 ns/iter 10.282944668588343 ns/iter 1.04
Evaluator_Draft4_Additional_Properties_Type 15.324132888337035 ns/iter 14.953436019350793 ns/iter 1.02
Evaluator_Draft4_Nested_Oneof 107.34218831173183 ns/iter 107.41372401824502 ns/iter 1.00
Evaluator_Draft4_Short_Enum 17.835648646478084 ns/iter 17.789089791708385 ns/iter 1.00
Evaluator_Draft4_Long_Enum 18.78987705867715 ns/iter 19.342581899221305 ns/iter 0.97
Evaluator_Draft4_Long_Enum_Short_Strings 17.79325471438175 ns/iter 17.769550384352378 ns/iter 1.00
Evaluator_Draft4_Type_Object 9.41032218084239 ns/iter 9.341307607050572 ns/iter 1.01
Compiler_2019_09_OMC_JSON_V2 10135632985.000029 ns/iter 9925695115.000053 ns/iter 1.02
Compiler_Draft6_AdaptiveCard 67054370580.00007 ns/iter 64485387203.00008 ns/iter 1.04

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